python爬虫之登录、session对象保存会话信息、Xpath安装与使用、lxml库

这篇博客介绍了Python爬虫中的登录操作,使用session对象保存会话信息,详细讲解了XPath的安装和基本语法,并探讨了lxml库在解析HTML代码中的应用,包括字符串解析和外部文件解析。
摘要由CSDN通过智能技术生成

1.登录

我们可以使用requests库实现登录账户。

我们以笔趣阁为例来展示登录。注意,以下内容会涉及到JavaScript的知识。

首先我们进入笔趣阁用户登录页面,右键点击检查,查看页面元素。
在这里插入图片描述
我们可以找到以下JavaScript代码,
在这里插入图片描述
我们看到该页面会将我们的action、username、password和usecookie参数传入“https://www.biquge.la/MemberAction.php”这个页面中,所以,我们要想通过爬虫进行用户登录,就同样需要把下列参数传给“https://www.biquge.la/MemberAction.php”这个页面。

下面我们来寻找action参数的内容,
在这里插入图片描述
我们看到action参数的值为id为action的标签的值,我们可以通过查找元素发现该input标签,并获取其值为login。
在这里插入图片描述
同理,我们可以获取usecookie参数的值。

我们通过下面的代码实现登录,

import requests

url = "https://www.biquge.la/MemberAction.php"  # 传入参数的url地址

headers = {
   
    "User-Agent": "浏览器User-Agent",
}  # User-Agent

data = {
   
    'action': 'login',
    'username': '用户名',
    'password': '密码',
    'usecookie': '0',
}  # 相关参数

response = requests.post(url, data=data, headers=headers)

print(response.content.decode('utf-8'))

执行结果如下,

{
   "status":1,"info":"登陆成功","data":{
   "result":0}}

登陆成功。

2.session对象保存会话信息

我们如果想要保存一些需要用户验证的页面,例如,笔趣阁的我的书架页面,人人网的个人中心等,就需要将个人的信息保存到session对象中,再通过session对象访问该页面并保存。

下面,我们来尝试保存笔趣阁的我的书架界面,

import requests

# 需要先通过爬虫进行登录
url = "https://www.biquge.la/MemberAction.php"

headers = {
   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.56",
}

data = {
   
    'action': 'login',
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值