一个功能强大的网页抓取工具包,集成了代理管理、验证码解决、缓存机制和数据提取功能。
Web Scraping Toolkit 提供了以下主要功能:
-
智能代理管理 (ProxyManager)
- 支持多种代理源(SmartProxy、自定义代理列表)
- 自动代理轮换与健康检查
- 问题代理的黑名单管理
- 根据请求数量或时间间隔自动切换代理
-
验证码解决 (CaptchaSolver)
- 集成2Captcha等验证码解决服务
- 自动检测和解决reCAPTCHA挑战
- 灵活的回退策略
-
缓存机制 (CacheMechanism)
- 高效的请求缓存系统
- 避免重复请求相同的URL
- 缓存内容的过期管理
-
高级网页抓取 (WebScraper)
- HTTP请求与浏览器自动化无缝切换
- 自动处理JavaScript渲染的页面
- 智能用户代理管理,防止指纹识别
- 多种故障恢复策略
提供了多种方法获取 Google Trends 的热度数据:
- SerpAPI 集成: 通过第三方 API 服务获取 Google Trends 数据
- PyTrends 集成: 使用官方 Python 库获取 Google Trends 数据
- 批量处理: 批量获取多个关键词的热度数据
- 智能后备: 当 API 不可用时提供智能估算值
- 加权关键词: 基于类别和优先级的关键词加权和排序
提供了抓取和管理网页内容的工具:
- 智能内容抓取: 使用 browser-use 自动识别和提取网页主体内容,有效应对反爬虫
- 动态内容渲染: 使用 Playwright 抓取动态渲染的网页内容
- 内容解析: 使用 BeautifulSoup 解析静态网页内容
- 新闻缓存: 缓存网页内容,避免重复处理
- 状态管理: 跟踪处理状态,记录已处理和未处理的内容
# 从源代码安装
pip install -e .
# 或直接安装依赖
pip install -r requirements.txt
from web_scraping_toolkit import ProxyManager, CacheMechanism, WebScraper
# 初始化代理管理器
proxy_manager = ProxyManager()
# 初始化缓存系统
cache = CacheMechanism("my_scraping_cache")
# 创建带有自动代理轮换和缓存功能的抓取器
scraper = WebScraper(
proxy_manager=proxy_manager,
cache_mechanism=cache
)
# 使用自动代理轮换和缓存获取网页
response = scraper.get("https://example.com")
from web_scraping_toolkit import ProxyManager
# 使用自定义设置创建代理管理器
proxy_manager = ProxyManager(
rotation_interval=300, # 每5分钟轮换一次
max_requests_per_ip=10 # 每个IP最多请求10次后轮换
)
# 获取用于requests的代理
proxy = proxy_manager.get_proxy()
# 将当前代理标记为问题代理(例如被封禁)
proxy_manager.blacklist_current_proxy(duration_minutes=30)
# 获取专门为Playwright格式化的代理
playwright_proxy = proxy_manager.get_playwright_proxy()