码迷,mamicode.com
首页 > 其他好文 > 详细

防止 Selenium 被检测出来,解决方法

时间:2020-12-16 12:39:03      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:oev   结果   san   没有   gen   sele   x64   soft   隐藏   

import time
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
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/86.0.4240.198 Safari/537.36)


driver = Chrome(C:\Program Files\Google\Chrome\Application\chromedriver.exe, options=chrome_options)
"""目前网上的反检测方法几乎都是掩耳盗铃,因为模拟浏览器有几十个特征可以被检测,仅仅隐藏 webdriver 这一个值是没有任何意义的。"""
# Selenium在打开任何页面之前,先运行这个Js文件。
with open(C:\Program Files\stealth.min.js) as f:
    js = f.read()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": js
})

driver.get(https://bot.sannysoft.com/)
time.sleep(2)
# driver.save_screenshot(‘walkaround.png‘)
"""只要driver不断开,是一直可以用的"""
# 你可以保存源代码为 html 再双击打开,查看完整结果
source = driver.page_source
with open(result.html, w) as f:
    f.write(source)

注:stealth.min.js这个文件网上有 自行百度下载

防止 Selenium 被检测出来,解决方法

标签:oev   结果   san   没有   gen   sele   x64   soft   隐藏   

原文地址:https://www.cnblogs.com/loren880898/p/14119457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!