pdf文档 Scrapy 2.3 Documentation

1.36 MB 352 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Scrapy 2.3的功能和使用方法,涵盖了命令行工具、项目结构、蜘蛛创建、Item Pipeline、Feed Exports等核心概念。其中,命令行工具用于执行各种Scrapy命令,如设置获取、蜘蛛运行和基准测试;项目结构展示了典型的Scrapy项目目录和文件;Item Pipeline用于处理和存储抓取的数据;Feed Exports支持将数据导出为多种格式,如JSON、CSV和XML。文档还介绍了如何自定义Scrapy命令以及在脚本中运行Scrapy。
AI总结
《Scrapy 2.3 Documentation》主要介绍了Scrapy框架的核心概念、命令行工具、项目结构及配置、蜘蛛开发、数据处理等内容。以下是文档的核心内容总结: --- ### **1. 命令行工具** Scrapy提供了多个命令行工具,用于项目管理、配置查询、运行蜘蛛等操作: - **`parse`**:测试解析代码,例如: ```bash scrapy parse http://www.example.com/ -c parse_item ``` - **`settings`**:获取Scrapy配置设置值,例如: ```bash scrapy settings --get BOT_NAME ``` - **`runspider`**:运行单个Python文件中的蜘蛛,无需创建项目: ```bash scrapy runspider myspider.py ``` - **`version`**:显示Scrapy版本信息。 - **`bench`**:运行快速基准测试。 - **`custom commands`**:支持通过`COMMANDS_MODULE`设置或`entry_points`添加自定义命令。 --- ### **2. 项目结构** Scrapy项目默认结构如下: ``` project_root/ ├── scrapy.cfg └── myproject/ ├── __init__.py ├── items.py # 定义数据项 ├── middlewares.py # 中间件 ├── pipelines.py # 项处理管道 ├── settings.py # 项目配置 └── spiders/ # 跨页面请求 ├── __init__.py └── spider1.py ``` 通过`scrapy startproject`创建新项目,例如: ```bash scrapy startproject tutorial ``` --- ### **3. 蜘蛛开发** 蜘蛛(Spider)用于抓取信息,从页面中提取数据: - 蜘蛛是`scrapy.Spider`的子类,定义初始请求和解析方法。 - 示例:创建`quotes_spider.py`文件,抓取并保存网页内容: ```python import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" def start_requests(self): urls = ['http://quotes.toscrape.com/page/1/'] for url in urls: yield scrapy.Request(url=url, callback=self.parse) def parse(self, response): page = response.url.split("/")[-2] filename = 'quotes-%s.html' % page with open(filename, 'wb') as f: f.write(response.body) self.log('Saved file %s' % filename) ``` --- ### **4. 数据处理** - **Items**:定义需要抓取的数据结构。 - **Item Loaders**:加载并清洗数据。 - **Item Pipeline**:处理和存储抓取的数据,通过`ITEM_PIPELINES`配置: ```python ITEM_PIPELINES = { 'myproject.pipelines.PricePipeline': 300, 'myproject.pipelines.JsonWriterPipeline': 800, } ``` - **Feed Exports**:将抓取的数据导出为文件,支持多种格式(如JSON、CSV、XML)和存储后端。 --- ### **5. 配置设置** Scrapy通过设置(Settings)进行配置,常用设置包括: - `BOT_NAME`:爬虫名称。 - `DOWNLOAD_DELAY`:请求间隔。 - `FEED_EXPORTERS`:自定义导出格式。 - DNS和下载相关设置,如`DNSCACHE_ENABLED`、`DOWNLOADER`等。 --- ### **6. 解决特定问题** - **检测检查运行**:通过`SCRAPY_CHECK`环境变量检测是否为检查运行。 - **从脚本运行Scrapy**:使用`CrawlerProcess` API在脚本中运行蜘蛛: ```python from scrapy.crawler import CrawlerProcess process = CrawlerProcess(settings={ "FEEDS": { "items.json": {"format": "json"}, }, }) process.crawl(MySpider) process.start() ``` --- ### **7. 常见实践** - **环境变量**:如`SCRAPY_PROJECT`、`SCRAPY_PYTHON_SHELL`等。 - **项目共享根目录**:通过`scrapy.cfg`中的设置别名支持多个项目。 --- 以上总结了Scrapy 2.3文档的核心内容,涵盖了框架的基础概念、工具使用、项目开发和配置等关键信息。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 345 页请下载阅读 -
文档评分
请文明评论,理性发言.