当前位置: 首页 > news >正文

用Cursor与Chrome插件爬取网页数据

当我们使用Cursor(一个基于AI的代码编辑器)结合Chrome插件来爬取网页数据。正常情况下,我们可以使用Python的库如requestsBeautifulSoup,因为有时网页是动态加载的(通过JavaScript),这就需要我们我们用Selenium来模拟浏览器操作。

然而,之前有提过使用Chrome插件。这里可能指的是使用浏览器插件(如爬虫插件)或者使用Chrome的开发者工具来辅助爬取。但结合Cursor(一个代码编辑器),我们更可能是在编写代码。

在这里插入图片描述

要使用 Cursor 编辑器配合 Chrome 插件爬取网页数据,通常有两种主流方案:直接使用 Python 爬虫库结合浏览器自动化工具。以下是我例举的两个详细步骤和代码示例:

方案一:Python 爬虫库(Requests + BeautifulSoup)

适合静态网页(无需 JS 渲染)

import requests
from bs4 import BeautifulSoupurl = "https://example.com"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}# 发送请求
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')# 示例:提取所有标题
titles = soup.select('h1.title')  # 根据实际CSS选择器修改
for title in titles:print(title.text.strip())

方案二:浏览器自动化(Selenium)

适合动态网页(需要 JS 渲染)

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By# 配置 Chrome 选项
chrome_options = Options()
chrome_options.add_argument("--headless")  # 无头模式
chrome_options.add_argument("--disable-gpu")# 启动浏览器(需下载 chromedriver)
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://example.com")# 等待元素加载(示例)
driver.implicitly_wait(10)# 提取数据
items = driver.find_elements(By.CSS_SELECTOR, ".product-item")
for item in items:name = item.find_element(By.CSS_SELECTOR, ".name").textprice = item.find_element(By.CSS_SELECTOR, ".price").textprint(f"{name}: {price}")driver.quit()

配合 Chrome 插件辅助爬取

  1. SelectorGadget(提取 CSS 选择器)

    • 安装链接:Chrome Web Store
    • 用法:点击页面元素生成 CSS 选择器
  2. XPath Helper(提取 XPath)

    • 安装链接:Chrome Web Store
  3. JSON Viewer(解析 API 数据)

    • 用于抓取通过 AJAX 加载的数据(查看 Network 中的 XHR 请求)

进阶技巧:直接调用 Chrome DevTools

使用 undetected-chromedriver 避免反爬:

import undetected_chromedriver as ucdriver = uc.Chrome(headless=True)
driver.get("https://example.com")
# ...操作同 Selenium...

注意事项

  1. 遵守 robots.txt 和网站使用条款
  2. 添加延时避免频繁请求(import time; time.sleep(2)
  3. 使用代理 IP 应对反爬机制
  4. 动态网站优先检查是否有隐藏 API(通过 Network 面板)

提示:在 Cursor 中运行 Selenium 需要先安装依赖:

pip install selenium beautifulsoup4 requests undetected-chromedriver

最后我要提醒大家,我们在选择方案时候需要考虑目标网站的复杂度选择,静态页面用方案一更高效,动态内容用方案二更可靠。

http://www.lqws.cn/news/182629.html

相关文章:

  • CDN:静态资源如何加速?
  • 埃文科技智能数据引擎产品入选《中国网络安全细分领域产品名录》
  • Curtain MonGuard:智能水印颜色适配,提升屏幕信息安全
  • dfn序的应用 (P1273 有线电视网题解)
  • 12.vite,webpack构建工具
  • 大模型与 NLP、Transformer 架构
  • 第四章 信息系统管理-4.1 管理方法
  • ✅ 常用 Java HTTP 客户端汇总及使用示例
  • 【计算机网络】HTTP
  • 香港科技大学(广州) | 生命科学与生物医学工程学域博士夏令营报名召集!
  • EditPlus中.nut文件高亮--stx配置文件解释
  • 代码安全规范1.1
  • Day46
  • Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)
  • win10+TensorRT+OpenCV+Qt+YOLOV8模型部署教程
  • LeetCode 2434.使用机器人打印字典序最小的字符串:贪心(栈)——清晰题解
  • 短视频矩阵SaaS系统:开源部署与核心功能架构指南
  • 华为仓颉语言初识:并发编程之同步机制(上)
  • 20250606-C#知识:匿名函数、Lambda表达式与闭包
  • Java适配器模式深度解析:无缝集成不兼容系统的艺术
  • [BIOS]VSCode zx-6000 编译问题
  • 【乐企板式文件】货物运输类发票,多页支持
  • 一套成熟的家装OMS
  • 智能制造数字孪生全要素交付一张网:智造中枢,孪生领航,共建智造生态共同体
  • 黑盒测试用例设计方法-全
  • 算法打卡16天
  • Axios请求超时重发机制
  • 5.2 HarmonyOS NEXT应用性能诊断与优化:工具链、启动速度与功耗管理实战
  • Kafka 入门指南与一键部署
  • vscode vue debug