51Testing软件测试论坛

标题: 美团selenium爬虫貌似被检测为webdriver不知如何解决 [打印本页]

作者: 测试积点老人    时间: 2022-3-10 10:18
标题: 美团selenium爬虫貌似被检测为webdriver不知如何解决
导师让爬美团数据,自己编写了selenium爬取程序尝试爬取,但一到打开店铺处便弹出网络错误,貌似被检测为webdriver拒绝访问,代码如下,求带神指导

  1. ```python
  2. from selenium import webdriver
  3. import time
  4. from selenium.webdriver import ChromeOptions
  5. import time
  6. option = ChromeOptions()
  7. #224反屏蔽,webdriver属性设置为空 224
  8. # 设置headless模式,这种方式下无启动界面,能够加速程序的运行
  9. # chrome_options.add_argument("--headless")
  10. # 禁用gpu防止渲染图片
  11. # option.add_argument('disable-gpu')
  12. # # 设置不加载图片
  13. # option.add_argument('blink-settings=imagesEnabled=false')


  14. option.add_experimental_option("excludeSwitches",["enable-automation"])
  15. option.add_experimental_option("useAutomationExtension", False)
  16. bro = webdriver.Chrome(executable_path="./chromedriver.exe",options=option)
  17. # bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  18. #     "source": """
  19. #                     Object.defineProperty(navigator, 'webdriver', {
  20. #                       get: () => undefined
  21. #                     })
  22. #                   """
  23. # })

  24. bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  25.   "source": """
  26.     Object.defineProperty(navigator, 'webdriver', {
  27.       get: () => undefined
  28.     })
  29.   """
  30. })

  31. #最大化窗口
  32. bro.maximize_window()
  33. #登陆美团
  34. bro.get("https://passport.meituan.com/account/unitivelogin")
  35. bro.find_element_by_xpath('//*[@id="J-mobile-link"]').click()
  36. bro.find_element_by_xpath('//*[@id="user-agreement-wrap-text-circle"]/i').click()
  37. bro.find_element_by_xpath('//*[@id="login-mobile"]').send_keys('18602763878')
  38. bro.find_element_by_xpath('//*[@id="J-verify-btn"]').click()
  39. #接收验证码
  40. bro.find_element_by_xpath('//*[@id="login-verify-code"]').send_keys(input('请输入验证码:'))
  41. bro.find_element_by_xpath('//*[@id="J-mobile-form"]/div[6]/input[3]').click()
  42. #点击城市武汉
  43. cookies = bro.get_cookies()
  44. cookies_dict = {cookie['name']:cookie['value'] for cookie in cookies}
  45. # print(cookies_dict)
  46. # print(bro.window_handles)
  47. # #点击美食
  48. time.sleep(2)
  49. bro.find_element_by_xpath('//a[@href="//wh.meituan.com"]').click()
  50. time.sleep(2)
  51. bro.find_element_by_xpath('//*[@id="react"]/div/div/div[1]/div[1]/div/div[2]/ul/li[1]/span/span/a').click()
复制代码



作者: qqq911    时间: 2022-3-11 10:09
估计是反爬机制吧
作者: jingzizx    时间: 2022-3-11 15:12
是不是又什么机制
作者: 千里    时间: 2022-3-11 16:46
还是玩简单点的系统比较好




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2