python抓某网站的数据,有什么可以模拟浏览器的吗?

2013-12-29 22:52:49 +08:00
 fdsfsdfsdf3334
是这样的
要登陆某网站才可以抓数据

主要是他的登陆算法,无法破解,而且就算破解了,他也是一天一变 ,几个小时变化一次

所以我完全放弃破解他的算法的想法

如果我模拟浏览器登陆的话,只需要让浏览器自动填写表单,登陆即可,

之前用的qt c++开发的,用的webkit 做浏览器,然后 登陆,获取内容,然后进行操作

现在换python, 于是我用pyqt来做浏览器 辅助我获取数据,但这样的话,好累赘

有没有轻一点的框架 可以替代我的浏览器

不晓得我描述清楚了没

求大家帮助
5717 次点击
所在节点    问与答
17 条回复
imom0
2013-12-29 23:31:19 +08:00
把登录了的cookies导出行么,然后给爬虫用。
Kjuly
2013-12-29 23:33:39 +08:00
mechanize 或者 selenium
kevinroot
2013-12-29 23:37:27 +08:00
requests不行?是有验证码?
geeklian
2013-12-29 23:50:45 +08:00
想起来曾经单位内部网站上抓取数据,.net,的post请求里的一堆东西不知道干啥的。python抓不下来,结果我换的autoit+ie8...直接模拟鼠标键盘操作了。
fdsfsdfsdf3334
2013-12-30 00:01:50 +08:00
@imom0 软件需要长期在服务器上运行,cookies 3天过期
fdsfsdfsdf3334
2013-12-30 00:02:29 +08:00
@kevinroot 没有验证码,但不排除以后他可能增加验证码
fdsfsdfsdf3334
2013-12-30 00:04:34 +08:00
@Kjuly 哦 谢谢 我研究下
airyland
2013-12-30 00:29:51 +08:00
为了对付某站验证码在用的采集方法:
NodeJS + socket.io + phantomjs

1.建socket服务端

2.phantomjs 打开目标网站,执行表单填写,如果有验证码,则render一张图,调用stdin来手工输入验证码。在phantomjs里每隔一段时间执行get页面操作保持会话。与服务端建立socket连接

3.用NodeJS或者浏览器端javascript连接到socket服务端并发送采集请求,phantomjs里面收到请求并获取数据发送到客户端

done...
fdsfsdfsdf3334
2013-12-30 00:36:05 +08:00
lijinma
2013-12-30 09:53:10 +08:00
@airyland phantomjs 很好很强大。
Stile
2013-12-30 11:55:30 +08:00
来个投机取巧的,这网站有手机版的么?有的话直接模拟手机不得了,改下UA就好,想咋弄咋弄!
fdsfsdfsdf3334
2013-12-30 13:54:07 +08:00
木有手机版的
@Stile
Stile
2013-12-30 15:50:57 +08:00
@fdsfsdfsdf3334 地址呢?我换UA试试。。嘿嘿 好奇中
fdsfsdfsdf3334
2013-12-30 16:11:07 +08:00
@Stile 淘宝
Stile
2014-01-01 22:35:18 +08:00
@fdsfsdfsdf3334 淘宝啊 ,你是想编辑商品?那用淘宝助理就可以了,没必要抓来抓去的。。。
Stile
2014-01-01 22:37:35 +08:00
@fdsfsdfsdf3334 淘宝也有手机版的啊,你可以登录 m.taobao.com 试试
ibopo
2016-12-19 01:04:43 +08:00
scrapy-js

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

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

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

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

© 2021 V2EX