SuperAPI AI 工具集

using-scrapy

数据与分析

查看项目

更新于 10-15 20:06

技能介绍

用途:Scrapy 是快速、高层的 Python 网页爬取与抓取框架,用于从网站提取结构化数据、跟随链接爬取整站,并通过管道处理与存储数据。适合爬取多页或整站、将价格/文章/商品列表等提取为 JSON/CSV、运行定时或大规模抓取任务,以及需要内置请求限速、重试和中间件的场景。

主要能力:支持 CSS 与 XPath 选择器精确提取;可跟随分页与站内链接;内置下载延迟、自动限速、重试、robots.txt 遵守、User-Agent 设置、HTTP 缓存等设置;输出 JSON、CSV、JSONL(每行一个 JSON 对象,适合大规模抓取)。

使用方式:需 Python 3.8+,安装命令 pip install scrapy(Ubuntu/Debian 可先 sudo apt-get install -y python3-pip;macOS 可 brew install python),用 scrapy version 验证。创建项目:scrapy startproject myproject;生成爬虫:scrapy genspider quotes quotes.toscrape.com;运行并保存:scrapy crawl quotes -o output.json 或 -o output.csv。也可用 scrapy runspider spider.py -o output.json 直接运行脚本,无需项目。运行时可加设置,如 -s DOWNLOAD_DELAY=1 -s AUTOTHROTTLE_ENABLED=True -s RETRY_TIMES=3。

限制与注意:不抓取登录保护或付费墙内容;应启用 ROBOTSTXT_OBEY=True 并设置 DOWNLOAD_DELAY>=1,使用可识别的 USER_AGENT;单域名礼貌抓取可设 CONCURRENT_REQUESTS_PER_DOMAIN=1;开发期可开 HTTPCACHE_ENABLED=True。若遇 robots.txt 禁止、数据为空、429 或重定向过多、JavaScript 渲染内容缺失,需检查 robots.txt、用 scrapy shell 调整选择器、增大延迟或启用自动限速,JS 内容可用 scrapy-playwright 或 scrapy-splash 中间件。错误日志输出到 stderr,未处理的 HTTP 错误会触发 errback。