怎么使用python脚本运行多个scrapy爬虫

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用python脚本运行多个scrapy爬虫相关的知识,希望对你有一定的参考价值。

参考技术A 1、创建多个spider,
scrapy
genspider
spidername
domain
scrapy
genspider
CnblogsHomeSpider
cnblogs.com
通过上述命令创建了一个spider
name为CnblogsHomeSpider的爬虫,start_urls为
、查看项目下有几个爬虫scrapy
list
[root@bogon
cnblogs]#
scrapy
list
CnblogsHomeSpider
CnblogsSpider
由此可以知道我的项目下有两个spider,一个名称叫CnblogsHomeSpider,另一个叫CnblogsSpider。

4.python爬虫之新建 scrapy 爬虫项目(抓取和保存)

参考技术A 1.win10 下 win + r 打开cmd 切换新项目的目录
2.新建scrapy项目的命令:

可以利用pycharm 打开项目文件夹编辑项目
3.items.py
声明爬取的字段

4.新建scrapy 爬虫

用命令 scrapy genspider doubanmovie "movie.douban.com" 创建爬虫。

5.运行爬虫

5.1 创建运行脚本
(一)、在 scrapy.cfg 同级目录下创建 pycharm 调试脚本 run.py,避免每次运行爬虫输入密码,内容如下:

6.修改robottxt协议
修改 settings 中的 ROBOTSTXT_OBEY = True 参数为 False,因为默认为 True,就是要遵守 robots.txt 的规则, robots.txt 是遵循 Robot协议 的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页不希望你进行爬取收录。在 Scrapy 启动后,会在第一时间访问网站的 robots.txt 文件,然后决定该网站的爬取范围。查看 robots.txt 可以直接网址后接 robots.txt 即可。

一般构建爬虫系统,建议自己编写Item Pipeline,就可以在open(path)选择自己的保存路径
参考: # scrapy爬虫事件以及数据保存为txt,json,mysql

7.1保存为json格式时出现乱码的解决方式:
scrapy抓取豆瓣书籍保存json文件乱码问题
中文默认是Unicode,如:

\u5317\u4eac\u5927\u5b66
在setting文件settings.py中设置:

就可以解决了
第二种解决办法
或在cmd中传入 -s FEED_EXPORT_ENCODING='utf-8'

参考: https://www.cnblogs.com/tinghai8/p/9700300.html

以上是关于怎么使用python脚本运行多个scrapy爬虫的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

python爬虫scrapy之如何同时执行多个scrapy爬行任务

通过核心API启动单个或多个scrapy爬虫

4.python爬虫之新建 scrapy 爬虫项目(抓取和保存)

Python爬虫编程思想(153):使用Scrapy抓取数据,抓取多个Url

Python爬虫编程思想(153):使用Scrapy抓取数据,抓取多个Url