讨论一个关闭爬虫的脑洞问题

2017-09-25 14:19:02 +08:00
 K1W1

最近在写爬虫,那些简单的还好,稍等有点安全意识的网站,都是 https + 一大堆 js 加密算法。而且每个网站都不相同。这太耗时间与精力了。
所以我在想有没有 python 框架,可以实现内嵌一个浏览器,这个浏览器要支持方法调用,比如传个地址,修改某些表单 dom 的数据。而且还能拿到页面的内容。我查了一下 Python 内嵌浏览器还是有的,但是可能不支持调用。获得数据可以通过 python 实现一个代理服务器来拿。
请问各位大神有没有相应的框架或者思路?
我发现谷歌有几款插件支持类似的功能,但是我还想 python 原生实现 插件

6505 次点击
所在节点    Python
28 条回复
tscat
2017-09-25 14:25:57 +08:00
你是在说 selenium ?
Coder0
2017-09-25 14:29:03 +08:00
selenium
timwei
2017-09-25 14:37:00 +08:00
Python 有个封装 selenium 的包叫做 splinter

https://github.com/cobrateam/splinter
90safe
2017-09-25 14:37:50 +08:00
前些天写微博爬虫的时候,思考过这个问题,感觉可以写个 chrome or firefox 插件来爬,可将结果存到本地或者 post 传到指定服务器上。
smgui
2017-09-25 14:47:59 +08:00
headless 咯
nilai
2017-09-25 14:52:09 +08:00
google headless
K1W1
2017-09-25 14:58:00 +08:00
@timwei #3 谢谢,selenium 我以为只是测试用的构架,涨知道了
K1W1
2017-09-25 14:58:19 +08:00
@smgui #5 谢谢,好东西
K1W1
2017-09-25 14:58:37 +08:00
@nilai #6 谢谢,我去学一下
K1W1
2017-09-25 14:59:33 +08:00
@90safe #4 嗯,浏览器插件到是挺多
VShawn
2017-09-25 15:09:11 +08:00
两年前我写的一个小说爬虫就是内嵌了一个浏览器,结果没有搞定动态操作浏览器的 DOM
timwei
2017-09-25 15:15:07 +08:00
我工具党

我只是需要解析 DOM 的话,通常直接用 Xpath

需要 cookie 支持的话(用户验证、部分 asp.net 应用),会改用 Mechanize

如需执行 JS 才会用到 Selenium w/ Chrome,Firefox,PhantomJS
Outshine
2017-09-25 16:15:57 +08:00
谷歌浏览器团队出了一个`puppeteer`,不过是 nodejs 的,楼主可以试试(其实也是用 headless browser )
K1W1
2017-09-25 16:21:28 +08:00
@Outshine #13 好的,谢谢
syhsyh9696
2017-09-25 16:21:36 +08:00
Selenium 真的好慢好慢啊,这样搞效率太低
gamecreating
2017-09-25 16:31:20 +08:00
phantomjs
yankebupt
2017-09-25 16:35:59 +08:00
参考目前闲鱼的防抓取:
---
* 不登录只循环显示少量资料
* 电脑端不登录,通过首页链接点击进入物品详情时限制物品类别数目,超出物品类别强制登陆否则不予显示
* 根据个人搜索记录强推个性化内容,每个人个性化内容不同无法查看全部资料,除非使用大量关键字搜索
* 对于大量关键字盲目搜索超标的,判定为抓取者,返回第一条,默认循环显示不登陆时显示的少量资料
---
感觉很独裁,但是没辙,除了芝麻信用基本没什么能用可信任的第三方征信平台。
---
我不知道要有什么样的技术突破才能避免以后做大了的服务都逐渐参考这种模式。简直反乌托邦
K1W1
2017-09-25 17:20:19 +08:00
@gamecreating #16 嗯,我现在在尝试 selenium + phantomjs 去实现
kenshinji
2017-09-25 17:23:34 +08:00
@yankebupt 嗯嗯。。。闲鱼登录挺麻烦的
K1W1
2017-09-25 17:33:52 +08:00
@yankebupt #17 这种不登录只能看部分内容,登录了只能看账号绑定的推荐个性化的的内容是有点头大。目前来看也只能注册 n 个账号,每个账号偏向不同的类型搜索了。

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

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

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

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

© 2021 V2EX