我自己的代码,我现在爬取的是淘宝商家后台
deflogin(self):"""登录
直接用webdriver.ChromeOptions(), 天猫容易检测,换个方法
pip install undetected_chromedriver
20221128放弃上方该方法
"""# options = uc.ChromeOptions()
options = webdriver.ChromeOptions()
options.add_argument("--disable-popup-blocking")# 关闭弹窗拦截,不然新页面打不开
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')# 以最高权限运行# options.add_argument('--headless')
options.add_argument('--ignore-certificate-errors')# options.add_argument('blink-settings=imagesEnabled=false') # 禁止加载图片,不加载图片,详情页图片获取不到# options.add_experimental_option('excludeSwitches', ['enable-automation']) # 关闭 “Chrome 正受到自动测试软件的控制。”
options.add_argument("--disable-blink-features=AutomationControlled")# 就是这一行告诉chrome去掉了webdriver痕迹,令navigator.webdriver=false,极其关键# 禁用浏览器弹窗 包括不限于提示保存密码的弹窗
prefs ={'profile.default_content_setting_values':{'notifications':2},"credentials_enable_service":False,"profile.password_manager_enabled":False}
options.add_experimental_option('prefs', prefs)
options.add_argument('disable-infobars')# 隐藏"Chrome正在受到自动软件的控制"# self.driver = uc.Chrome(options=options, version_main=107)
self.driver = webdriver.Chrome(options=options)withopen('./stealth.min.js')as f:
js = f.read()
self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{"source": js
})# 下方登录, self.driver.implicitly_wait(20)要设置在前边
self.driver.implicitly_wait(20)
time.sleep(1)# self.driver.get("https://myseller.taobao.com/home.htm#/index")
self.driver.get("https://myseller.taobao.com/home.htm/sell-manage-tm/all?current=1&pageSize=20")
self.driver.maximize_window()
time.sleep(1)
以上代码已经最大限度防止被检测,但是次数多了还是出现滑块验证码,而且人工去点 怎么点都不管用的那种
参考: https://blog.csdn.net/weixin_41712499/article/details/127488038
本文转载自: https://blog.csdn.net/weixin_44541001/article/details/128131886
版权归原作者 码农-Python小高 所有, 如有侵权,请联系我们删除。
版权归原作者 码农-Python小高 所有, 如有侵权,请联系我们删除。