python selenium 无头模式 反检测加载,USDT流通数据,区块链数据、资讯数据、北向资金等数据

为了采集稳定币USDT的流通数据,需要去https://wallet.tether.to/transparency采集,用的python3 和selenium,非无头模式可以顺利加载,无头模式下死活加载不出来,无头模式截图发现页面跳出来这货,尝试使用打码平台识别之,结果识别完了提交验证后还是回到这个页面,无奈啊。

python selenium 无头模式 反检测加载,USDT流通数据,区块链数据、资讯数据、北向资金等数据_第1张图片

最后使用了如下参数解决了问题,顺利无头模式下加载页面

def Chrome_Headless():
    #https://segmentfault.com/q/1010000020623284/,添加了一些参数,确实可以骗过https://wallet.tether.to/transparency对无头浏览器检测
    #在线检测是否无头能欺骗,https://arh.antoinevastel.com/bots/areyouheadless
    chrome_options = Options()
    chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错
    chrome_options.add_argument('window-size=1920x1080') #指定浏览器分辨率
    chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
    chrome_options.add_argument('log-level=3')
    chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
    chrome_options.add_argument('--headless')
    chrome_options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("lang=zh_CN.UTF-8")
    driver=webdriver.Chrome(options=chrome_options)
    #driver.set_window_size(1920, 1080)
    driver.maximize_window()
    return driver

user-agent 或者lang=zh_CN.UTF-8可能是wallet.tether.to用来检测是否无头浏览器的东西吧,

参考:

https://segmentfault.com/q/1010000020623284/

https://blog.csdn.net/Revivedsun/article/details/81785000

 

区块链等格式化数据的平台:https://tushare.pro/register?reg=322271

你可能感兴趣的:(基础,python3)