Scrapy:用cmdline运行爬虫后导致主程序也结束——CrawlerProcesser
学习自:
解决django或者其他线程中调用scrapy报ReactorNotRestartable的错误 - liuxianglong - 博客园
(6条消息) python定时启动多个爬虫,解决(twisted.internet.error.ReactorNotRestartable)报错_别挡着我发光的博客-CSDN博客
Scrapy:通过cmdLine从同一个python进程运行多个spider失败 - 问答 - Python中文网
解决方法:
不用普通的Spider类,而用CrawlerRunner或CrawlerProcesser类。
用法:
from crochet import setup
from scrapy.crawler import CrawlerProcess def Scrapy(adminname,filename,year):
setup()
process=CrawlerProcess()
process.crawl(QSpider)
参数传递
在Scrapy python中向process.crawn传递参数 - 问答 - Python中文网
如果想传入参数,可以写成如下形式:
process.crawl(QSpider,attr1=value1,attr2=value2,...)
上段代码中attr1,attr2为传入变量名,value1,value2为这些变量的值。
在爬虫类QSpider中(构建该类时,基类仍是Spider)的__init__方法中访问这些传入参数:
class QSpider(scrapy.Spider):
name='Q'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36'
} def __init__(self,attr1,attr2):
self.attr1=attr1
self.attr2=attr2
前边的self.attr1是指类属性attr1,如果想为该属性赋值为之前传入的参数attr1,就在声明__init__的形参中写上这些参数,这样,传入的参数就保存到了类中对应的属性了。
Scrapy:用cmdline运行爬虫后导致主程序也结束——CrawlerProcesser的更多相关文章
- 『Scrapy』全流程爬虫demo
建立好的爬虫工程如下: item.py 它用来存储解析后的响应文件: # -*- coding: utf-8 -*- # Define here the models for your scraped ...
- Scrapy:运行爬虫程序的方式
Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0, 在创建了爬虫程序后,就可以运行爬虫程序了.Scrapy中介绍了几种运行爬虫程序的方式,列举如下: -命令行工具之s ...
- Scrapy实战:使用IDE工具运行爬虫
一般我们运行爬虫程序都是使用命令行,比如:scrapy crwal sobook.不过这多少有些不方便,可以使用下面的方法使用IDE的方式运行爬虫 我这边使用的是pycharm软件,在pycharm里 ...
- ride.py在运行python3.×版本后导致无法运行及解决办法
最近一直在自学python自动化,网上看到rf框架挺适合初学自动化测试,于是通过虫师的搭建了rf框架, 但是在使用过程中遇到了一个问题,在网上没有找到明确解决办法于是想到记录一下 之前为了搭建rf框架 ...
- Scrapy爬虫day2——简单运行爬虫
设置setting.py 修改机器人协议 ROBOTSTXT_OBEY = False 设置User-Agent DEFAULT_REQUEST_HEADERS = { 'Accept': 'text ...
- (一)scrapy 安装及新建爬虫项目并运行
> 参考:https://www.cnblogs.com/hy123456/p/9847570.html 在 pycharm 中并没有创建 scrapy 工程的选项,需要手动创建. 这里就有两种 ...
- scrapy——7 scrapy-redis分布式爬虫,用药助手实战,Boss直聘实战,阿布云代理设置
scrapy——7 什么是scrapy-redis 怎么安装scrapy-redis scrapy-redis常用配置文件 scrapy-redis键名介绍 实战-利用scrapy-redis分布式爬 ...
- 基于Python,scrapy,redis的分布式爬虫实现框架
原文 http://www.xgezhang.com/python_scrapy_redis_crawler.html 爬虫技术,无论是在学术领域,还是在工程领域,都扮演者非常重要的角色.相比于其他 ...
- 爬虫框架Scrapy的第一个爬虫示例入门教程
我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目 ...
随机推荐
- 浅谈kali : arpspoof工具原理
Arpspoof工具 介绍 arpspoof是一个通过ARP协议伪造数据包实现中间人攻击的kali工具. 中间人攻击虽然古老,但仍处于受到黑客攻击的危险中,可能会严重导致危害服务器和用户.仍然有很多变 ...
- linux下查看 SELinux状态及关闭SELinux
SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制.SELinux 首先在 CentOS 4 出现, ...
- 学习Java第4天
今天所作的工作: 1.类 2.类的构造方法 3.静态变量 4.类的主方法 5.对象 今天没有完成昨天的工作安排,因为发现进入类之后的编程思想发生的变化,相对与c++的逻辑既有较大的相似性又有不同的性质 ...
- ApacheCN 深度学习译文集 20210112 更新
新增了六个教程: TensorFlow 2 和 Keras 高级深度学习 零.前言 一.使用 Keras 入门高级深度学习 二.深度神经网络 三.自编码器 四.生成对抗网络(GAN) 五.改进的 GA ...
- Windows点击更改适配器选项出现的网络连接为空
前言:windows出现点击更改适配器选项出现的网络连接为空,一直找了很久,没有找到方法 解决方案: 1:点击状态: 2:点击网络重置 最后:电脑进行重启,即可.
- JDK停止工作
问题:在服务器上运行程序,有时会出现JDK已停止工作,如图: 解决:在网上查找了很多资料,主要有以下几点 1.程序冲突,回想近期是否新安装了程序,将该程序进行关闭之后,再运行程序 2.异常未处理,即代 ...
- 诗和远方-target
学习也是这样:不以结婚为目的的谈恋爱,都是耍流氓!
- java run()方法无法throws 异常
感谢大佬:https://blog.csdn.net/z_ssyy/article/details/95345205 其实原因很简单,run()方法是我们调用start()方法后,jvm再去调用run ...
- 类扩展(Class Extension)
类扩展(Class Extension) 也有人称为匿名分类 - 作用 - 能为某个类增加额外的属性.成员变量.方法声明 - 一般将类扩展写到.m文件中 - 一般将一些私有的属 ...
- centOs编译安装php7.2支持微擎php扩展
发现yum安装许多坑 于是只好编译安装 第一步得到镜像地址 在 https://www.php.net/downloads.php 有的地址比较慢,需要耐心等待 cd /usr/lo ...