对于登陆情况的处理
1.1 使用表单登陆
这种情况属于post请求,即先向服务器发送表单数据,服务器再将返回的cookie存入本地。
data = {'data1':'XXXXX', 'data2':'XXXXX'}
Requests:data为dict,json
import requests
response = requests.post(url=url, data=data)
Urllib2:data为string
import urllib, urllib2
data = urllib.urlencode(data)
req = urllib2.Request(url=url, data=data)
response = urllib2.urlopen(req)
1.2 使用cookie登陆
使用cookie登陆,服务器会认为你是一个已登陆的用户,所以就会返回给你一个已登陆的内容。因此,需要验证码的情况可以使用带验证码登陆的cookie解决。
import requests
requests_session = requests.session()
response = requests_session.post(url=url_login, data=data)
若存在验证码,此时采用response = requests_session.post(url=url_login, data=data)是不行的,做法应该如下:

本文介绍了Python网络爬虫如何处理登录情况,包括使用表单POST请求进行登录和利用cookie实现已登录状态。在遇到验证码时,需要通过手动获取cookie来解决。以爬取知乎为例,使用requests库,根据config.ini配置文件中的用户名和密码尝试登录,若失败则使用cookie。登录成功标志是HTML文件中包含用户信息。
最低0.47元/天 解锁文章

1816

被折叠的 条评论
为什么被折叠?



