美文网首页
python爬虫——爬取需要登录的网站

python爬虫——爬取需要登录的网站

作者: 69c673da4b91 | 来源:发表于2017-05-28 16:14 被阅读2982次

本教程以我自己开发的一个系统后台的测试版做例子:

URL:http://www.no-same.com/admin

对于需要登录的网站,需要以下一些步骤:

1、获取登录所需的参数

打开调试器,查看账号和密码表单中的name值,这个是登录所需的key。有些网站可能会有隐藏表单域csrfmiddlewaretoken,有的话可以通过查看源码拿到对应的key value。
最后拿到的需要的参数为:
postData={"username":"admin","password":"123456"}

image.png

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、登录成功之后,即可进行爬取相应的内容

相关文章

网友评论

      本文标题:python爬虫——爬取需要登录的网站

      本文链接:https://www.haomeiwen.com/subject/kmdhfxtx.html