怎么绕过selenium爬取网页

本文介绍了如何利用Chrome的远程调试模式配合Selenium,以避免在爬取网页时留下指纹信息。通过手动启动Chrome并配置Selenium启动参数,可以实现更隐蔽的网页抓取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何绕过Selenium检测

1.使用chrome的远程调试模式结合selenium来遥控chrome进行抓取,这样不会携带指纹信息

步骤:

  • 使用调试模式手工启动chrome,进入chrome的安装路径,例如chrome装在 C:\program\google\chrome.exe下(windows)(Ubuntu的进入chrome的安装目录)

  • 进入chrome安装路径(Ubuntu)
    在这里插入图片描述

  • 执行命令:

     #注意端口不要被占用,防火墙要关闭,user-data-dir用来指明配置文件的路径
     # Windows版
     chrome.exe --remote-debugging-port=9222 --user-data-dir="指向任意空文件夹"
     # Ubuntu版
     google-chrome --remote-debugging-port=9222 --user-data-dir="指向任意空文件夹"
    
  • selenium启动添加相应配置选项

     chrome_options = webdriver.ChromeOptions()
     #端口需要和启动chrome的调试端口一样
     chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
    

例如:

from selenium import webdriver


chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_opti
### 使用 Selenium 进行淘宝网页自动化数据采集 为了实现淘宝网页的自动化数据采集,Selenium 是一种强大的工具。通过它能够模拟浏览器行为并执行 JavaScript 脚本来交互页面元素[^1]。 #### 安装依赖库 在开始之前,确保安装了必要的 Python 库: ```bash pip install selenium ``` 还需要下载对应的 WebDriver 并配置环境变量以便于调用不同类型的浏览器驱动程序。 #### 初始化 WebDriver 和打开目标网站 创建一个简单的脚本来启动 Chrome 浏览器实例,并访问指定 URL 地址: ```python from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 假设已经设置了 chromedriver 的路径 url = 'https://www.taobao.com' driver.get(url) sleep(3) # 等待加载完成 ``` #### 登录处理 由于淘宝存在登录验证机制,在实际操作前可能需要先手动登录保存 Cookies 或者利用账号密码自动填充功能来绕过此环节。 #### 商品列表抓取 一旦成功进入商品展示页,则可以通过 XPath 表达式定位到所需的商品条目节点集合: ```python items = driver.find_elements_by_xpath('//div[@class="item J_MouserOnverReq"]') for item in items: title = item.find_element_by_xpath('.//a').get_attribute('title') or '' price = item.find_element_by_xpath('.//span[contains(@class, "price")]/em').text.strip() sales_volume = item.find_element_by_xpath('.//div[starts-with(@id,"J_Itemlist_SellCount")]').text print(f'名称:{title},价格:{price},销量:{sales_volume}') ``` 这里选取了一些常见的属性作为例子,具体可根据实际情况调整选择器规则[^2]。 #### 执行自定义 JS 来增强控制力 有时候仅靠常规 API 不足以满足需求,这时就可以借助 `execute_script` 方法注入任意一段 JavaScript 代码片段来进行更复杂的逻辑运算或是触发某些特殊事件: ```python # 模拟滚动到底部以加载更多内容 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") sleep(2) ``` 以上展示了基本框架下的部分核心要点,当然完整的项目往往还会涉及到异常捕获、日志记录等功能模块的设计考虑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值