Scrapy 1.0 Documentation
1.05 MB
244 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细介绍了Scrapy 1.0版本的新功能和改进,包括蜘蛛返回字典的能力、自定义蜘蛛设置的引入、从Twisted日志迁移到Python内置日志系统、并发请求和项目设置的优化。此外,还介绍了Scrapy的核心概念、命令行工具、异常处理以及构建和使用Scrapy项目的基本流程。新版本还支持了对单个蜘蛛的设置优先级配置,并增强了下载延迟和重试机制。 | ||
AI总结 | ||
以下是对《Scrapy 1.0 Documentation》的中文总结,重点突出核心观点和关键信息,语言简洁明了,逻辑连贯:
---
## 《Scrapy 1.0 Documentation》总结
### 1. 新特性与改进
- **返回字典的支持**:
Scrapy 1.0允许蜘蛛直接返回字典,而不是必须声明和返回Scrapy项(Item)。示例:
旧版本:
```python
class MySpider(scrapy.Spider):
def parse(self, response):
return MyItem(url=response.url)
```
新版本:
```python
class MySpider(scrapy.Spider):
def parse(self, response):
return {'url': response.url}
```
- **蜘蛛级设置**:
通过在蜘蛛中定义`custom_settings`类变量,可以为单个蜘蛛配置专属设置,覆盖项目设置。示例:
```python
class MySpider(scrapy.Spider):
custom_settings = {
"DOWNLOAD_DELAY": 5.0,
"RETRY_ENABLED": False,
}
```
- **日志系统改进**:
Scrapy 1.0默认使用Python内置的`logging`模块,取代了Twisted日志系统。旧日志接口仍兼容但会提示警告,建议完全迁移至`logging` API。
示例:
旧版本:
```python
from scrapy import log
log.msg('MESSAGE', log.INFO)
```
新版本:
```python
import logging
logging.info('MESSAGE')
```
### 2. 关键设置参数
- **并发请求设置**:
- `CONCURRENT_REQUESTS`:默认值16,表示同时进行的最大请求数。
- `CONCURRENT_REQUESTS_PER_DOMAIN`:默认值8,表示对单个域名的并发请求数限制。
- `CONCURRENT_REQUESTS_PER_IP`:默认值0,表示对单个IP的并发请求数限制。如果非零,`CONCURRENT_REQUESTS_PER_DOMAIN`将被忽略。
- **下载延迟与随机化**:
- `DOWNLOAD_DELAY`:默认值0,表示下载延迟时间。
- `RANDOMIZE_DOWNLOAD_DELAY`:默认值True,启用随机延迟,可降低被反爬器检测的风险。
- **其他设置**:
- `DEPTH_LIMIT`:默认值0,表示爬取深度限制。值为0时无限制。
- `DEFAULT_REQUEST_HEADERS`:默认HTTP请求头,包含_accept_和_accept-language_等字段。
### 3. 命令行工具
- **Scrapy Shell**:
用于快速测试和调试爬虫,启动方式:`scrapy shell [url]`。支持空URL启动。
- **Scrapy Parse**:
分析指定URL并解析内容,启动方式:`scrapy parse |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
237 页请下载阅读 -
文档评分