玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python爬虫库Requests模拟用户登录实现方法

比如要模拟登录 SegmentFault,该用哪个方法呢?

import requests

url = 'http://segmentfault.com/user/login'

如果你想学习怎么爬一个网页,去学学怎么写网页。
你连 GET/POST/HTTP/cookie 都不知道是什么的话。。
可以看 http://blog.binux.me/2013/09/howto-crawl-web/

登录一般的过程是:
1、POST 帐号密码
2、服务器给你写 cookie (至于为什么要写 cookie,学一学怎么写网页)

requests 是一个 HTTP 请求库,你只要模拟出 POST 请求就 ok 了。
而请求可以通过 chrome > network 工具查看。

使用requests.Session()
示例如下:

pythons = requests.Session()  # 可以在多次访问中保留cookie
s.post(login_url, {'username':username, 'password': password,}, headers=headers)  # POST帐号和密码,设置headers
r = s.get(url)  # 已经是登录状态了

另外,很多网站会设置csrf或其他token保证安全或防抓取,建议从源代码,或chrome的开发者工具中观察一下。

关于requests.Session()可以参考官方文档:http://docs.python-requests.org/en/latest/user/advanced/#session-objects

关于登录例子,可以参考这篇文章,有很详细的requests登录网站的说明。

可以参考我的一篇文章 一步步爬取Coursera课程资源

有pytesser库可以用来处理简单的验证码

在官方documation搜索simulate user login

或者google Python scrapy simulate user login

其实,我觉得模拟用户登陆的难点在于验证码,到现在还没解决。http://segmentfault.com/q/1010000002421571

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19158.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月27日 - 11时25分11秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules