爬虫之--登录实现
Posted gaoyukun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫之--登录实现相关的知识,希望对你有一定的参考价值。
在登陆后,如果不退出当前用户,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模拟点击登录按钮。
以上是关于爬虫之--登录实现的主要内容,如果未能解决你的问题,请参考以下文章