搜了一圈基本是用 cloudscraper 这个库,但是现在这个库好像已经没有维护了,5s 盾又升级了,现在这个库也绕不过去;还有就是用 Selenium ,对于部分网站可能能正常访问首页,但是之后还需要验证
|  |      1iqingqian      2022-05-25 15:46:27 +08:00 via iPhone 同求 | 
|  |      2tmtstudio      2022-05-25 15:55:02 +08:00 人家专门吃这碗饭的,有方法发出来就失效ㄟ( ▔, ▔ )ㄏ | 
|  |      5huruwo      2022-05-25 17:55:23 +08:00 据说有手就行 当然我不行 | 
|  |      6huruwo      2022-05-25 17:56:01 +08:00 你应该加到一些内部的爬虫群里问问 | 
|      745HXlKzal6W56zUJ      2022-05-26 11:26:16 +08:00 webdriver | 
|  |      8C02TobNClov1Dz56      2022-05-27 15:26:13 +08:00 控制有头浏览器把自己弄得像真实用户? | 
|  |      9jeeyong      2022-05-30 22:18:40 +08:00 https://github.com/onebits/chromedriver/releases 重新编译了 chromedriver, 删除了 js 层面的一些特征.. README 里有说. 虽然有时候并没啥卵用.. | 
|  |      10LeeReamond      2022-06-03 08:25:46 +08:00 @jeeyong 具体有哪些特征能分享一下么,想尝试自己编译,直接用二进制不放心 | 
|  |      11jeeyong      2022-06-04 17:57:27 +08:00  1 @LeeReamond  git 上写了.... 我并不知道所有的特征, 我也是学一点改一点.. 替换了字符串: $cdc_asdjflasutopfhvcZLmcfl_ 这个长度不能变... 但是虽然替换了... 依旧可以用其他方式进行检测, 比如正则直接取$ _ 之间的东西... 因为长度不变, 所以 length 一下也可以判断出来. 这部分原始代码里是 var someVar = cdc_adoQpoasnfa76pfcZLmcfl_Array || window.Array var someVar = cdc_adoQpoasnfa76pfcZLmcfl_Promise || window.Promise var someVar = cdc_adoQpoasnfa76pfcZLmcfl_Symbol || window.Symbol 我直接把 cdc_adoQpoasnfa76pfcZLmcfl_Symbol || 这部分删掉了.. 但是, 好像在特定场景下还是可以在 window 全局变量中发现到这个值 cdc_adoQpoasnfa76pfcZLmcfl_Symbol. 目前我没法重现... 以上特征都是在 chrome/test/chromedriver/js 的文件中... | 
|  |      12LeeReamond      2022-06-05 14:21:59 +08:00 @jeeyong 查了一下好像反爬端的角度看是通过 window.cdc_adoQpoasnfa76pfcZLmcfl_Array 来判断是否调用 chromedriver ? | 
|  |      13jeeyong      2022-06-06 19:15:18 +08:00 @LeeReamond 只是一种手段....而且其实是很低阶的方法 检测是否存在这个变量..检测这个变量是否还是 Native Function... 还可以检测 navigator.webdriver, 检测方法也是, 简单的就判断属性是否存在, 是否返回 false, 或者 undefined. 不同平台返回是不一样, ios 是 false, 但是 android 我记得好像是 undefined..至少部分是. 还可以检测 webdriver 的是否挂了方法, 或者是通过 Proxy()或者 Reflect()伪造过. 初次之外还是有好多好多方法..哎...没头没头... | 
|  |      14jeeyong      2022-06-06 19:24:17 +08:00 我做爬虫的经验来看... 真正的有效的方法...基本都不说.. 大概率是闷头赚钱... 最近开始看到的一些文章, 大概 2,3 年前的东西了, 才陆续有人发出来..至少我是 2,3 年前就知道的.. |