scrapy的配置

win7 安装python3后,设置环境变量。
1.请先安装 visualcppbuildtools_full.exe (我的华为云中有),否则某些开发工具没有,将报错。
2.pip install scrapy
cmd
d:
scrapy startproject mySpider
D:>tree /f mySpider
Folder PATH listing for volume New Volume
Volume serial number is 4647-06DA
D:\MYSPIDER
│ scrapy.cfg

└─mySpider
items.py
middlewares.py
pipelines.py
settings.py
init.py

├─spiders
│ │ init.py
│ │
│ └─__pycache__
└─__pycache__

cd mySpider
scrapy genspider stockInfo “itcast.cn
stockInfo 是爬虫的名字
itcast.cn 是 allowed_domains

D:\mySpider>tree /f
Folder PATH listing for volume New Volume
Volume serial number is 4647-06DA
D:.
│ scrapy.cfg

└─mySpider
items.py
middlewares.py
pipelines.py
settings.py
init.py

├─spiders
│ │ stockInfo.py
│ │ init.py
│ │
│ └─__pycache__
init.cpython-37.pyc

└─__pycache__
settings.cpython-37.pyc
init.cpython-37.pyc

注意:自动产生了一个文件 stockInfo.py
import scrapy
class StockinfoSpider(scrapy.Spider):
name = ‘stockInfo’
allowed_domains = [‘itcast.cn’]
start_urls = [‘http://itcast.cn/’]

def parse(self, response):
    pass
### Scrapy框架配置方法与参数说明 Scrapy 提供了一个灵活的机制来控制其行为,这些设置可以通过 `settings.py` 文件或者命令行选项进行定义。以下是关于 Scrapy 配置的一些重要方面: #### 1. **全局配置** Scrapy 的核心功能由一组默认设置驱动,但开发者可以根据需求自定义它们。主要的配置文件位于项目的 `settings.py` 中。 - **BOT_NAME**: 定义爬虫项目的名字,默认情况下会自动创建一个名为 `bot_name` 的变量[^1]。 ```python BOT_NAME = 'my_scrapy_project' ``` - **SPIDER_MODULES 和 NEWSPIDER_MODULE**: 这两个参数分别指定存储爬虫模块的位置以及新生成爬虫所在的包名[^3]。 ```python SPIDER_MODULES = ['my_scrapy_project.spiders'] NEWSPIDER_MODULE = 'my_scrapy_project.spiders' ``` #### 2. **下载器中间件 (Downloader Middlewares)** 下载器中间件允许修改请求和响应的行为。常用的配置项如下: - **USER_AGENT**: 设置浏览器标识符以模拟不同的客户端访问[^2]。 ```python USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' ``` - **DOWNLOAD_DELAY**: 控制两次连续请求之间的延迟时间(单位为秒),防止因频繁请求而被目标服务器封禁[^1]。 ```python DOWNLOAD_DELAY = 1.5 ``` - **CONCURRENT_REQUESTS**: 并发请求数量的最大值。增加此数值可提高效率但也可能引发反爬措施。 ```python CONCURRENT_REQUESTS = 16 ``` #### 3. **管道管理 (Item Pipelines)** 当数据被抓取到后,通常需要对其进行清洗、验证或保存至数据库等操作。这一步骤通过 Item Pipeline 实现。 - **ITEM_PIPELINES**: 启用特定的管道类及其优先级顺序。 ```python ITEM_PIPELINES = { 'my_scrapy_project.pipelines.JsonWriterPipeline': 300, 'my_scrapy_project.pipelines.MongoDBPipeline': 800, } ``` #### 4. **日志记录 (Logging Configuration)** 为了调试方便,合理调整日志级别有助于定位错误源。 - **LOG_LEVEL**: 日志输出等级,支持 DEBUG, INFO, WARNING, ERROR 及 CRITICAL 几种模式[^1]。 ```python LOG_LEVEL = 'INFO' ``` - **LOG_FILE**: 将日志重定向到某个文件而不是标准输出流中去[^3]。 ```python LOG_FILE = 'scrapy.log' ``` 以上只是部分常用配置项概述;实际应用过程中还涉及更多高级特性比如代理池设定、Cookies处理策略等方面的内容。 ```python # 示例:完整的 settings.py 配置片段 BOT_NAME = 'example' SPIDER_MODULES = ['example.spiders'] NEWSPIDER_MODULE = 'example.spiders' ROBOTSTXT_OBEY = True USER_AGENT = 'Mozilla/5.0 (compatible; ExampleBot/1.0; +http://www.example.com/bot)' DOWNLOAD_DELAY = 2 CONCURRENT_REQUESTS_PER_DOMAIN = 8 FEED_FORMAT = 'jsonlines' FEED_URI = 'output.jsonl' ITEM_PIPELINES = {'example.pipelines.ExamplePipeline': 300} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值