帮助中心

   

热门搜索: 免费续期  推广  永久会员

基于requests模块的cookie操作

使用代理IP换IP进行网络爬虫,并不是对于每个网站来说都可以通用。有些网站会对爬虫程序进行更加严格的限制,所以我们需要掌握不断的手段来突破。

基于requests模块的cookie操作

迅联加速介绍基于requests模块的cookie操作:

cookie概念:当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。

思路:

1、我们需要使用爬虫程序对人人网的登录时的请求进行一次抓取,获取请求中的cookie数据

2、在使用个人信息页的url进行请求时,该请求需要携带d第一步中的cookie,只有携带了cookie后,服务器才可识别这次请求的用户信息,方可响应回指定的用户信息页数据

import requests

if __name__ == “__main__”:

#登录请求的url(通过抓包工具获取)

post_url = ‘http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=201873958471’

#创建一个session对象,该对象会自动将请求中的cookie进行存储和携带

session = requests.session()

#伪装UA

headers={

‘User-Agent’: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36′,

}

formdata = {

’email’: ‘17701256561’,

‘icode’: ”,

‘origURL’: ‘http://www.renren.com/home’,

‘domain’: ‘renren.com’,

‘key_id’: ‘1’,

‘captcha_type’: ‘web_login’,

‘password’: ‘7b456e6c3eb6615b2e122a2942ef3845da1f91e3de075179079a3b84952508e4’,

‘rkey’: ’44fd96c219c593f3c9612360c80310a3′,

‘f’: ‘https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3Dm7m_NSUp5Ri_ZrK5eNIpn_dMs48UAcvT-N_kmysWgYW%26wd%3D%26eqid%3Dba95daf5000065ce000000035b120219’,

}

#使用session发送请求,目的是为了将session保存该次请求中的cookie

session.post(url=post_url,data=formdata,headers=headers)

get_url = ‘http://www.renren.com/960481378/profile’

#再次使用session进行请求的发送,该次请求中已经携带了cookie

response = session.get(url=get_url,headers=headers)

#设置响应内容的编码格式

response.encoding = ‘utf-8’

#将响应内容写入文件

with open(‘./renren.html’,’w’) as fp:

fp.write(response.text)

这种方式可以普遍适用于需要cookie来进行数据抓取的网站,大家可以学习一下步骤。

关闭
19907977089
关注微信公众号,免费送30分钟时长