爬虫带cookies请求服务器

这篇博客讲述了如何在爬虫中利用Cookies进行安全的服务器登录请求。首先介绍了Cookies在用户登录状态维持中的作用,然后讲解了POST方法用于保护账号安全。接着,详细阐述了如何使用requests库的post函数进行登录请求,并传递登录数据。最后,通过BeautifulSoup库解析网页,查找并保存所需信息。

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

一般来说,请求可以分为四部分内容:请求网址、请求方法、请求头和请求体。

它们在请求详细信息中的位置。

一、获取登录网页

# 设置登录请求的请求网址
login_url = 'https://wp.forchange.cn/wp-admin/admin-ajax.php'
# 输入用户的账号密码
username = input('请输入用户名:')
password = input('请输入密码:')

# 设置登录请求的请求体数据
login_data = {
    'action': 'ajaxlogin',
    'username': username,
    'password': password,
    'remember': 'true'
}

# 请求登录网站
login_res = requests.post(login_url, data=login_data)

# 设置要请求的书籍评论页链接
comment_url = 'https://wp.forchange.cn/psychology/11069/comment-page-1/'
# 携带获取到的 Cookies 信息请求书籍评论页
comment_res = requests.get(comment_url, cookies=login_res.cookies)
# 打印获取到的网页内容
print(comment_res.text)

 Cookies 里含有登录相关的信息,下次浏览器请求该网站的网页时,浏览器会将 Cookies 发送给服务器,服务器通过识别 Cookies 来判断发送请求的用户是否已登录。

提交方式为post,这样可以保护用户账号安全

post函数   语法:requests.post(url,data)

调用 post() 函数时会给函数的参数 url 和参数 data 传值。其中参数 url 传入登录请求的请求网址;参数 data 传入登录请求的请求体,数据多以字典形式写入。(请求的请求体,可以在请求详情页的 【Form Data】 位置找到)

二、解析网页

解析网页使用 BeautifulSoup 库来进行解析

先导入包

from bs4 import BeautifulSoup

解析请求到的书籍评论页内容

soup = BeautifulSoup(comment_res.text, 'html.parser')

找到网页中所需信息,他们的最小父级标签

查找信息

搜索网页中所有包含评论

comment_list = soup.find_all('div', class_= 最小父级标签 )

查找用户名

comment_author = comment.find('cite', class_='fn').text[:-2]

cite是div  最小父级标签中保护用户名的子标签,带上class_='fn'属性就可以访问到名字,后面切片是把后面的分号去掉

 comment_time = comment.find('p', class_='date').text
    # 提取评论内容
 comment_content = comment.find('div', class_='bd').find('p').text

保存信息 

with open('comments.csv', 'w', encoding='utf-8-sig') as f:
    # 将文件对象转换成 DictWriter 对象
    f_csv = csv.DictWriter(f, fieldnames=['用户名', '评论时间', '评论内容'])
    # 写入表头与数据
    f_csv.writeheader()
    f_csv.writerows(data_list)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值