requests库的get请求,带有cookies

本文介绍两种使用Python模拟登录人人网的方法:通过在headers中携带cookies和通过get方法参数携带cookies。此外,还介绍了如何利用session对象保持登录状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)如何带cookies请求

方法一:headers中带cookies

#coding:utf-8
import requests
import re

# 构建url
url = 'http://www.renren.com/923768535'

# 构建请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36',
    'Cookie': 'anonymid=j6c96snx6i82ml; _r01_=1; _ga=GA1.2.1361939841.1504226199; depovince=GUZ; JSESSIONID=abcjqMbx6AsKFexLLwC_v; jebe_key=2b511d4c-0b0e-4e77-bcbd-28616d344a3d%7Ceda913e449d4d8cd6ac80727da63a1fe%7C1510156700139%7C1%7C1510156700366; ch_id=10016; jebecookies=5dddc92f-140c-41ef-be32-c6e023d9a0f2|||||; ick_login=28789547-d18b-4142-af78-35fb306907a3; _de=4F1FF60C280AA48B2CD1201DB4C6DF4A; p=1d40e67e3bf905bdc36671554ad798895; first_login_flag=1; ln_uact=17173805860; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; t=3df131639fc50c5fd3189244f8fcd7ba5; societyguester=3df131639fc50c5fd3189244f8fcd7ba5; id=923768535; xnsid=617e5204; ver=7.0; loginfrom=null; wp_fold=0'
}

# 发起请求获取响应
response = requests.get(url,headers=headers)


# 验证是否登陆成功
print (re.findall('迷途',response.content.decode()))
print (response.url,response.status_code)

  

方法二:get方法参数中带cookies

#coding:utf-8
import requests
import re
# 构建url
url = 'http://www.renren.com/923768535'

# 构建请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36',
}

# 构建cookies
temp = 'anonymid=j6c96snx6i82ml; _r01_=1; _ga=GA1.2.1361939841.1504226199; depovince=GUZ; JSESSIONID=abcjqMbx6AsKFexLLwC_v; jebe_key=2b511d4c-0b0e-4e77-bcbd-28616d344a3d%7Ceda913e449d4d8cd6ac80727da63a1fe%7C1510156700139%7C1%7C1510156700366; ch_id=10016; jebecookies=5dddc92f-140c-41ef-be32-c6e023d9a0f2|||||; ick_login=28789547-d18b-4142-af78-35fb306907a3; _de=4F1FF60C280AA48B2CD1201DB4C6DF4A; p=1d40e67e3bf905bdc36671554ad798895; first_login_flag=1; ln_uact=17173805860; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; t=3df131639fc50c5fd3189244f8fcd7ba5; societyguester=3df131639fc50c5fd3189244f8fcd7ba5; id=923768535; xnsid=617e5204; ver=7.0; loginfrom=null; wp_fold=0'
cookies = {}
for i in temp.split('; '):
    cookies[i.split('=')[0]] = i.split('=')[1]
# print  (cookies)

# 发送请求获取响应
response = requests.get(url,headers=headers,cookies=cookies)
# 验证登录
print (re.findall('迷途',response.content.decode()))
print (response.url,response.status_code)

  

(二)session的状态保持。

有了session后,第二次请求是,就不用再传cookies、headers了。

#coding:utf-8
import requests
import re

# 构建url
url = 'http://www.renren.com/PLogin.do'
# 构建headers
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36',
}
# 构建表单数据
post_data = {
    'email': '17173805860',
    'password': '1qaz@WSX3edc'
}

# 构建session对象
session = requests.session()

# 发送请求模拟登陆
response = session.post(url, headers=headers, data=post_data)
print (response.url)
# 跳转新鲜事
response1 = session.get('http://www.renren.com/923768535')
# 验证登录
print (re.findall('迷途',response1.content.decode()))

  

转载于:https://www.cnblogs.com/andy9468/p/8306929.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值