关于一个 selenium 被反爬虫识别的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wc110302
V2EX    Python

关于一个 selenium 被反爬虫识别的问题

  •  
  •   wc110302 2018-08-26 18:20:09 +08:00 11666 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在尝试爬取一个网站数据的时候,遇见了这个网站使用了 distil networks 的反爬虫服务,我尝试了抓包的方式无法有效地进行到下一步,因为需要提交四五次表单,并且每次 Post 请求都被重定向了,于是想着用 requestium,使用 selenium 发送 post 请求,却还是无法达到预期效果。这里主要还是因为 selenium 被识别出来了,我在这个反爬虫服务加载的 js 中发现了这样几句代码,isWebdriver:function(){return!!navigator.webdriver 自己也试着尝试了一下,在 chrome 的浏览器中输入 windows.navigator.webdriver 返回的是 undefind,而在 chromebdriver 中输入后返回的是 true,所以我在想是不是这句代码阻塞了我的 post 执行,有没有什么好的办法绕过这段 js 或者修改它的值呢?
    20 条回复    2019-12-21 13:57:54 +08:00
    wzwwzw
        1
    wzwwzw  
       2018-08-26 18:26:28 +08:00   1
    为什么不说一下目标网站呢。
    kran
        2
    kran  
       2018-08-26 19:46:39 +08:00 via iPhone
    selenium 源码混淆变量名,重新编译
    xiaoyu233
        3
    xiaoyu233  
       2018-08-26 20:28:28 +08:00
    之前找的解决方法是 2 楼说的改代码重新编译方式。不过不会编译,可以尝试用 pyqt 来爬
    wc110302
        4
    wc110302  
    OP
       2018-08-27 00:17:06 +08:00
    @wzwwzw 不好意思现在才上到网--! 目标网站是这个: https://www.flyscoot.com/zh
    wc110302
        5
    wc110302  
    OP
       2018-08-27 00:18:09 +08:00
    @kran 网上能找到现有的教程吗--! 我也不太懂编译 希望能详细解答一下
    wc110302
        6
    wc110302  
    OP
       2018-08-27 00:23:10 +08:00
    @xiaoyu233 谢谢提供的解决方案,明天我去尝试用 pyqt 看能否爬取,其实我现在已经能爬取到数据了,就是耗时太久了,我想绕过这个反爬虫 distil networks 所带来的验证码来减少我耗费的时间,或者直接能使用 Post 请求就更好了,不过现在还没能找到解决方案
    wenzhoou
        7
    wenzhoou  
       2018-08-27 06:43:58 +08:00 via Android
    selenium 已经好久不更新了啊。感觉死而不僵。鸡肋啊。
    wc110302
        8
    wc110302  
    OP
       2018-08-27 10:02:07 +08:00
    @wenzhoou 但是现在的问题是我也只能采取 selenium 自动采集,抓包的方式尝试过了无法通过
    kran
        9
    kran  
       2018-08-27 10:24:50 +08:00
    cyrbuzz
        10
    cyrbuzz  
       2018-08-27 10:26:23 +08:00
    试下 pyppeteer
    https://github.com/miyakogi/pyppeteer
    和 selenium 类似。

    基于 pyppeteer 我也封装了一个小爬虫框架:
    https://github.com/HuberTRoy/Seen
    用不到就忽略这条吧~。
    wc110302
        11
    wc110302  
    OP
       2018-08-27 11:09:54 +08:00
    @kran 谢谢回复 我尝试使用 hex editor 将 chromedrive 里的$cdc_替换了依然不起作用 还是会被反爬虫服务识别 也许是这个教程现在失效了
    yumenlong
        12
    yumenlong  
       2018-08-27 11:28:36 +08:00
    http://waimai.meituan.com 美团外卖的 js 也对 webdriver 进行了检测,大家来研究研究对策啊
    wc110302
        13
    wc110302  
    OP
       2018-08-29 09:04:52 +08:00
    @xiaoyu233 感谢老铁提供的方法。 这里统一回复一下 使用 pyqt5 可以绕过该网站的反爬服务。 模拟操作需要全程注入 js
    gamecreating
        14
    gamecreating  
       2018-11-03 21:51:25 +08:00
    @wc110302 注入 JS 的方法有码? pyqt5 + qtwebengine 没找到在哪里注入
    weiyishuxi
        15
    weiyishuxi  
       2019-02-12 11:01:33 +08:00
    大佬是否可以加微信或者 QQ ( 2408169322 ),我最近也想搞你这个网站,但是爬虫新手,如果可以指导也行,直接有偿交易源码也行
    skt2046
        16
    skt2046  
       2019-02-27 15:52:08 +08:00
    我最近写一个刷单工具也遇到了万恶的 distil networks,根据的说了 P 参数,我抓包后把它解析了出来可以看出是一个带有详细浏览器信息的 json,并且每次请求这个 json 里面只有一小部分会被修改。看到你说可以模拟生成 p 参数,特意过来请教一下,你是怎么生成的
    skt2046
        17
    skt2046  
       2019-02-27 15:54:11 +08:00
    可否加鹅企详细讨论:( base64 鹅企) NTIzNzMxNTg5
    skt2046
        18
    skt2046  
       2019-02-27 15:59:48 +08:00
    还有请求 header 里面有个重要参数和 X-Distil-Ajax 以及 url 参数 PID, 必须和 p 参数一起送过去才能生效,这些参数都是一个 get 取回来的 javascrip 函数生成的
    wc110302
        19
    wc110302  
    OP
       2019-02-27 17:17:22 +08:00
    @skt2046 你的企鹅加不了哦~
    luzhizheng
        20
    luzhizheng  
       2019-12-21 13:57:54 +08:00
    这楼主是一个搞外包的,大家不要给骗了,加了 QQ 以后一直在忽悠,没两句就开始装逼,然后要我搞外包.
    技术问题一个都不回答,问什么都说很简单自己搞,要不然就找我外包,真是没见过这种人,一点想探讨的精神都没有,还跟我装起逼来,说多了就开始骂我菜鸡,菜鸟,真的是给点阳光就灿烂,懂一点就开始装逼,你爸妈没有教过你做人的道理吗?真是悲哀!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2686 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 12:59 PVG 20:59 LAX 04:59 JFK 07:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86