本教程以我自己开发的一个系统后台的测试版做例子:
URL:http://www.no-same.com/admin
对于需要登录的网站,需要以下一些步骤:
1、获取登录所需的参数
打开调试器,查看账号和密码表单中的name值,这个是登录所需的key。有些网站可能会有隐藏表单域csrfmiddlewaretoken,有的话可以通过查看源码拿到对应的key value。
最后拿到的需要的参数为:
postData={"username":"admin","password":"123456"}
2、携带相应参数请求
代码如下:
from requests import session,Request
from bs4 import BeautifulSoup as bs
# 创建session请求对象,保存登录会话请求u
session_req=session()
# 需要传输的参数
postData={
"username":"admin",
"password":"123456"
}
# 需要登录的URL
login_url="http://www.no-same.com/admin/index.php?route=common/login"
#PreparedRequest请求预处理
req=Request(
'post',
login_url,
data=postData,
headers=dict(referer=login_url)
)
prepped=req.prepare()
#将处理的请求参数通过session请求对象发送过去
resp=session_req.send(prepped)
#用BeautifulSoup处理登录之后返回的数据
soup=bs(resp.content,"html.parser")
#打印输出
print(soup.prettify())
3、登录成功之后,即可进行爬取相应的内容
网友评论