请问各位如何反反爬虫软件

2018-02-18 23:40:11 +08:00
 quatix

现在反爬虫基本可以反 ChromeDriver 了, 检查以下位点,市面上的爬虫基本扑街 window _Selenium_IDE_Recorder,_selenium,callSelenium document __driver_evaluate,__webdriver_evaluate,__selenium_evaluate,__fxdriver_evaluate,__driver_unwrapped,__webdriver_unwrapped,__selenium_unwrapped,__fxdriver_unwrapped,__webdriver_script_func,__webdriver_script_fn document.documentElement.getAttribute ["selenium", "webdriver", "driver"] window callPhantom,_phantom

请问有没有老哥有办法解决这个问题

3670 次点击
所在节点    问与答
13 条回复
quatix
2018-02-18 23:59:32 +08:00
补充一下,说的是在 ChromeDriver 的情况下
locoz
2018-02-19 00:44:25 +08:00
那就直接不走模拟浏览器这条路呗
binux
2018-02-19 01:29:08 +08:00
Isolated context
quatix
2018-02-19 14:09:04 +08:00
@locoz 因为有 websocket 在,抓包工作量更大,所以没办法
quatix
2018-02-19 14:09:23 +08:00
@binux 老哥说的孤立上下文是指?
binux
2018-02-20 01:47:17 +08:00
@quatix #5 Chrome 支持 isolated world 机制,可以分割 page context 和注入脚本的 context,这样页面脚本就不能读取到任何注入的变量,从而不能通过这些判断了。
你需要一个支持 isolated context 机制的实现,例如 https://electronjs.org/docs/api/browser-window 的 contextIsolation 选项。
quatix
2018-02-20 13:41:15 +08:00
@binux 谢谢 我查一下
ysc3839
2018-02-20 18:45:07 +08:00
直接用 CEF 就好了,可以做出几乎和真的浏览器一样的环境。
quatix
2018-02-21 01:10:19 +08:00
@ysc3839 CEF 操作起来不是很方便的样子,交互只能靠 js 模拟
ysc3839
2018-02-21 01:38:04 +08:00
@quatix 可以直接模拟用户输入啊……
2624687861
2018-02-21 17:34:12 +08:00
我刚看到个帖子,怎么反反反爬虫软件(逃)
quatix
2018-02-22 16:35:31 +08:00
@2624687861 哇 老哥有 link 吗
quatix
2018-02-22 16:35:47 +08:00
@ysc3839 老哥很稳健!

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

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

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

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

© 2021 V2EX