码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫之--登录实现

时间:2018-08-19 21:50:50      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:apple   app   on()   port   存在   int   url   net   c51   

在登陆后,如果不退出当前用户,cookie是不会变的(哪怕退出浏览器),如果退出当前用户,那么下次登录后,cookie会改变

要想爬取登录后的界面内容,主要有两种方式

一.带上登陆后的cookie(这种方式局限性:获取本台机器上的cookie,但是在其他电脑上不能使用,还是登录不上去,就要用到方法二)

import requests
####此url是登录后的url url
="http://www.renren.com/967455374"
####headers中的cookie是登陆后network中的cookie headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36","Cookie": "anonymid=jkthlsn4-8iirrn; _r01_=1; ln_uact=17320180454; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; depovince=GW; jebe_key=3da058d0-e6d1-4136-9b6e-dc881262d74f%7C511bbbcd773ff3ca8b4ba9e781ac8187%7C1534238020416%7C1%7C1534598501955; _de=B9F462630629FD38DAF2F9061F8E47D1; JSESSIONID=abcVZe1RxLJwR4cXASrvw; ick_login=75c0fc68-ab42-40f9-bd98-2c4815a5738f; jebecookies=77469486-920a-43ee-8612-2a20af016e4d|||||; p=1e99b88dc297135877a5b163f8b8f5114; first_login_flag=1; t=09607b7721b3f5b8f955678c8c5eb6574; societyguester=09607b7721b3f5b8f955678c8c5eb6574; id=967455374; xnsid=ae4d6050; ver=7.0; loginfrom=null; wp_fold=0"} respone=requests.get(url=url,headers=headers) print(respone.text)

二.使用session()

import requests
session=requests.session()  #实例化session
post_url="http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2018702056889"     #form表单中action的url
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}
data={"email":"17320180454","password":"kk950523"}       
respone=session.post(url=post_url,headers=headers,data=data)              #将cookie保存在session
print(respone.text)     

url="http://www.renren.com/967455374"    #登录后的url
respone=session.get(url=url,headers=headers)     #session带着cookie请求
print(respone.text)

#如果form表单中没有action,就勾选当前登录界面的network中的Preserve log(记录日志),点击登录按钮,会找到post请求方式的url,然后找到里面form data的数据,这时候可能password字段是js加密的,所以不能用上面的方法,就要用到seleium模拟点击登录按钮。

 

爬虫之--登录实现

标签:apple   app   on()   port   存在   int   url   net   c51   

原文地址:https://www.cnblogs.com/gaoyukun/p/9502657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!