爬虫之--登录实现

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模拟点击登录按钮。

 





以上是关于爬虫之--登录实现的主要内容,如果未能解决你的问题,请参考以下文章

python网络爬虫之使用scrapy自动登录网站

python爬虫之模拟登录将cookie保存到代码中

python爬虫scrapy之登录知乎

Python爬虫之Scrapy框架系列(17)——实战某代码托管平台登录FormRequest类

scrapy按顺序启动多个爬虫代码片段(python3)

设计模式之策略模式