社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python爬虫:Scrapy从脚本运行爬虫的5种方式!

马哥Linux运维 • 3 年前 • 468 次点击  

测试环境

一、命令行运行爬虫
1、编写爬虫文件 baidu.py

2、运行爬虫(2种方式)

二、文件中运行爬虫

1、cmdline方式运行爬虫

2、CrawlerProcess方式运行爬虫

3、通过CrawlerRunner 运行爬虫

三、文件中运行多个爬虫

项目中新建一个爬虫 SinaSpider

1、cmdline方式不可以运行多个爬虫
如果将两个语句放在一起,第一个语句执行完后程序就退出了,执行到不到第二句

不过有了以下两个方法来替代,就更优雅了
2、CrawlerProcess方式运行多个爬虫
备注:爬虫项目文件为:
scrapy_demo/spiders/baidu.py
scrapy_demo/spiders/sina.py

此方式运行,发现日志中中间件只启动了一次,而且发送请求基本是同时的,说明这两个爬虫运行不是独立的,可能会相互干扰
3、通过CrawlerRunner 运行多个爬虫

此方式也只加载一次中间件,不过是逐个运行的,会减少干扰,官方文档也推荐使用此方法来运行多个爬虫

总结

cmdline.execute 运行单个爬虫文件的配置最简单,一次配置,多次运行
文章转载:Python编程学习圈

(版权归原作者所有,侵删)


点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115184
 
468 次点击