#生成项目文件
scrapy startproject 项目名
#生成spider.py爬虫文件
scrapy genspider 爬虫名 域名
#运行爬虫
scrapy crawl 爬虫名

settings文件设置

BOT_NAME:项目名
USER_AGENT:默认是注释的,写一个Mozilla/5.0即可
ROBOTSTXT_OBEY:是否遵循机器人协议,默认是true,需要改为false,否则很多东西爬不了
CONCURRENT_REQUESTS:最大并发数,很好理解,就是同时允许开启多少个爬虫线程
DOWNLOAD_DELAY:下载延迟时间,单位是秒,控制爬虫爬取的频率,根据项目调整,默认是3秒,即爬一个停3秒,设置为1秒性价比较高,如果要爬取的文件较多,写零点几秒也行
COOKIES_ENABLED:是否保存COOKIES,默认关闭,开机可以记录爬取过程中的COKIE,非常好用的一个参数
DEFAULT_REQUEST_HEADERS:默认请求头,上面写了一个USER_AGENT,其实这个东西就是放在请求头里面的,可以根据爬取的内容做相应设置。
ITEM_PIPELINES:项目管道,300为优先级,越低越爬取的优先度越高--比如pipelines.py里面写了两个管道,一个爬取网页的管道,一个存数据库的管道,调整他们的优先级,如果有爬虫数据,优先执行存库操作。
    ITEM_PIPELINES = {
        'scrapyP1.pipelines.BaiduPipeline': 300,
        'scrapyP1.pipelines.BaiduMysqlPipeline': 200,
    }

日志等级与日志保存

在setting.py里面可以设置日志的等级与日志存放的路径

相关变量

LOG_LEVEL= ""
LOG_FILE="日志名.log"

日志等级分为

1.DEBUG 调试信息
2.INFO 一般信息
3.WARNING 警告
4.ERROR 普通错误
5.CRITICAL 严重错误

LOG_LEVEL="WARNING"
#只会WARNING等级之下的ERROR和CRITICAL
#默认等级是1

导出为json或scv格式

#执行爬虫文件时添加-o选项即可
scrapy crawl 爬虫名 -o *.csv
scrapy crawl 爬虫名 -o *.json
#对于json文件,在setting.js文件里添加,设置编码格式,否则会乱码:
#FEED_EXPORT_ENCODING='utf-8'

最后修改:2021 年 09 月 27 日
如果觉得我的文章对你有用,请随意赞赏