Reptile: requests-cookie-session

requests携带cookie的get请求:

session对象会自己动携带cookie参数,所有使用session发起带cookie的请求


1.打开浏览器,输入豆瓣网的账号密码

2.点击 F12 键打开抓包工具 network,点击登陆按钮

3.找到 Login 负责URL 和 data参数,还有headers请求头信息,后面要用   # url为post请求的URL 地址栏的URL不是

4.登陆后点击个人主页,复制地址栏的URL  # URL是get请求的URL直接使用地址栏的URL就可以了


# 需求:爬取豆瓣网,用户登陆后个人主页的数据
# cookie的作用:服务器端使用cookie来记录客户端的状态信息
# 实现流程:
# 执行登陆操作(获取cookie)
# 发起个人主页请求时,需将cookie携带到该请求中
# 注意:session对象,发送请求(会将cookie对象自动存储)


import requests
import os
# 1.模拟浏览器进行登陆
if not os.path.exists('./douban'):
os.mkdir('./douban')

# 获取登陆url
login_url = 'https://www.douban.com/accounts/login'

# 定义参数
data = {
'source': 'index_nav',
'form_email': '*******', # 账号
'form_password': '*****' # 密码

}

# 定义UA
headers = {
'User - Agent': 'Mozilla / 5.0(Windows NT 10.0) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / '
'65.0.3325.181Safari / 537.36'
}

# 获取session对象
session = requests.session()

# 发起请求,不需要获取请求返回的数据
session.post(url=login_url, data=data, headers=headers)

# 定义个人主页url
url = 'https://www.douban.com/people/148122957/'

# 发起请求并获得返回数据
response = session.get(url=url, headers=headers)

# 返回数据
page_text = response.text

# 存储数据
with open('douban/homepage.html', 'w', encoding='utf-8') as fp:
fp.write(page_text)
print('写入完成')

转载于:https://www.cnblogs.com/wei-yu/p/10299572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值