You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需使用Selenium,如何提取聊天页面中的指定用户元素?

解决无法通过Selenium代理访问时提取聊天用户ID的方法
  • 直接抓取网页源码解析
    用requests这类HTTP请求库直接获取网页源码,无需依赖Selenium。操作步骤:

    1. 发送GET/POST请求时带上必要的请求头(如User-Agent、登录Cookie),模拟正常浏览器的访问行为,获取包含聊天区域的页面源码
    2. 使用BeautifulSoup或lxml这类HTML解析库定位目标区域,提取符合条件的元素:
      示例代码:
      from bs4 import BeautifulSoup
      import requests
      
      # 模拟浏览器请求头,替换成实际的Cookie和User-Agent
      headers = {
          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
          'Cookie': 'your_login_cookie_here'
      }
      
      # 请求目标网页
      response = requests.get('target_page_url', headers=headers)
      soup = BeautifulSoup(response.text, 'lxml')
      
      # 定位聊天区域
      chat_area = soup.find('div', id='chat_area')
      # 提取所有符合条件的<a>标签:href为javascript:;且带有user_id属性
      target_elements = chat_area.find_all('a', href='javascript:;', attrs={'user_id': True})
      
      # 遍历提取user_id
      for elem in target_elements:
          user_id = elem.get('user_id')
          print(user_id)
      
  • 分析网页接口抓包获取数据
    利用浏览器开发者工具抓包,找到加载聊天内容的API接口,直接调用接口获取结构化数据:

    1. 打开浏览器F12开发者工具,切换到Network标签,刷新页面或触发聊天加载动作,筛选XHR/Fetch类型的请求,找到返回聊天数据的接口
    2. 记录该接口的请求URL、方法、参数和请求头,用requests模拟调用,直接从返回的JSON数据中提取user_id,无需解析HTML
  • 使用规避检测的自动化工具
    如果必须使用自动化工具,可选择能绕过网站检测的方案:

    • 使用undetected-chromedriver:它是Selenium的修改版本,能隐藏常见的浏览器指纹特征,避免被网站拦截
    • 确保代理IP未被网站拉黑,配置正确的代理认证信息,避免代理访问被拒绝

内容的提问来源于stack exchange,提问作者HyeonPhil Youn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:31:02