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',