python利用requests库模拟登录和抓取数据,超简单

亲,你还在为python的各种urllib和urlibs,cookielib 头疼吗?还还在为python模拟登录和抓取数据而无限蛋疼吗?

记得我推荐的:python推荐HTTP客户端库:requests,python采集数据模拟登录必备利器

可能一些部分朋友还没看明白,我今天写一个模拟登录的例子,至于采集我大家就自行发挥把。

代码很简单,主要是展现python的requests库的简单到牛逼之处, 直接上代码了:


s = requests.session()
data = {'user':'用户名','passdw':'密码'}
#post 换成登录的地址,
res=s.post('http://www.jincon.com/index.php?action=login',data);
#换成抓取的地址
s.get('http://www.jincon.com/archives/155/');
亲,是的,你没有看错,就是4行代码,即可模拟登录。


python的requests库实在是太强大了,还不用起来??

关键词: requests , python

上一篇: javascript前端RSA加密探究、RSA算法类(PHP)
下一篇: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

#1
回复 小丸子 2016-02-04, 9:14 AM
不考虑cookies吗,还有如果有验证码怎么解决
回复 jincon 2016-02-06, 11:46 AM
@小丸子: cookie的问题很简单,你可以参考:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html#cookies

至于验证码的话,有专门的python可以识别简单的验证码,复杂的话,就自己想办法吧。
#2
回复 小丸子 2016-07-22, 7:21 PM
非常感谢您,现在对requests库已经了解一些了,再看以前问的问题觉得太傻了,我又有了新的疑惑希望您能解答,就是当我构造post请求时,我并没有加上s = requests.session(),模拟登陆也成功了,我看了requests的库官方文档但是我还是不懂,这句加不加有什么区别,希望您能看到,也希望您能加我qq862855263,希望能和您一起探讨python
回复 jincon 2016-07-24, 9:44 AM
@小丸子: 你可以,看下request的类库,在api.py 的文件里面,就可以看到了:直接post或者get的时候,系统已经自动帮你管理了cookie或者session,但是此时,你并不能进行一些自定义。如果使用 s = requests.session() ,可以进行一些session的自定义管理:session() 是调用了系统的sessions.py的文件,他们就已经说明了,作用:Provides cookie persistence, connection-pooling, and configuration.(提供了cookie的持久性,连接池和配置)
发表评论

评论内容 (必填):