tornado.httpclient.HTTPClient() 抓取 新浪微薄数据

2014-05-16 22:05:15 +08:00
 wushuang
用了网上的 python 非API方式 模拟登录新浪微薄 的代码,登录成功后抓取 微薄个人页面信息。
登录代码: https://github.com/yoyzhou/weibo_login/blob/master/weibo_login.py

同样的一个微薄页面,用urllib2的方式抓取一点问题都没,如果用tornado.httpclient.HTTPClient().fetch(url)的方式抓取就会跳转到注册界面,而且始终登录不成功,何解?

注:
如果是urllib2方式的话所有页面都能抓取成功;
tornado httpclient的方式只是部分页面会跳转到注册地址,还是有些页面可以成功抓取的。
4033 次点击
所在节点    Python
6 条回复
maga
2014-05-17 00:27:58 +08:00
为什么一定要用tornado.httpclient?
binux
2014-05-17 00:39:20 +08:00
method, url, header(cookies), body
四个都检查一遍

分别用两种发一个请求到 http://httpbin.org/get
对比请求有什么不同
wushuang
2014-05-17 11:16:42 +08:00
@maga 因为我web框架就用的tornado,其他的懒得折腾了,哈哈,然后我看网上有Toro这个玩意儿,跟tonado配合好像还行,就试试看效果如何。
maga
2014-05-17 11:39:13 +08:00
@wushuang 用urllib2就是一个库而已。话说request更好
wushuang
2014-05-17 13:05:08 +08:00
@binux 我感觉是cookies的问题,但是不知道怎么处理,我把代码贴到了这里http://segmentfault.com/q/1010000000510093 ,麻烦帮看下,谢谢!
pyshift
2014-05-17 23:43:33 +08:00
我感觉还是cookie的问题,com端的cookie很蛋疼,而且你抓包会发现还是会返回一个cn端的cookie值,如果没有硬性的去抓取com端,推荐还是去cn端抓吧,还能避开unicode转换编码。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/112902

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX