Scrapy设置之提前终止爬虫

转载自  https://blog.csdn.net/Q_AN1314/article/details/51104701

Scrapy的CloseSpider扩展会在满足条件时自动终止爬虫程序。可以设置CLOSESPIDER_TIMEOUT(秒)、CLOSESPIDER_ITEMCOUNTCLOSESPIDER_PAGECOUNTCLOSESPIDER_ERRORCOUNT分别代表在指定时间过后、在抓取了指定数目的Item之后、在收到了指定数目的响应之后、在发生了指定数目的错误之后就终止爬虫程序。通常情况下可以在命令行中设置:

$ scrapy crawl fast -s CLOSESPIDER_ITEMCOUNT=10
$ scrapy crawl fast -s CLOSESPIDER_PAGECOUNT=10
$ scrapy crawl fast -s CLOSESPIDER_TIMEOUT=10
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的使用Scrapy框架编写爬虫的例子: 1. 创建项目 首先,需要在终端中使用以下命令创建一个Scrapy项目: ``` scrapy startproject <项目名> ``` 2. 定义Item 接下来,需要定义要爬取的数据的结构。在Scrapy中,可以使用Item类来定义数据结构。在项目目录下,创建一个items.py文件,并定义Item类,例如: ```python import scrapy class MyItem(scrapy.Item): title = scrapy.Field() content = scrapy.Field() ``` 这里定义了一个名为MyItem的Item类,包含两个字段:title和content。 3. 编写Spider 接下来,需要编写Spider,定义如何爬取网站数据。在项目目录下,创建一个spiders目录,并在其中创建一个名为myspider.py的文件。在该文件中定义Spider,例如: ```python import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = 'myspider' allowed_domains = ['example.com'] start_urls = ['http://www.example.com'] def parse(self, response): item = MyItem() item['title'] = response.xpath('//title/text()').extract_first() item['content'] = response.xpath('//body/text()').extract_first() yield item ``` 这里定义了一个名为MySpider的Spider类,包含三个属性:name、allowed_domains和start_urls。其中,name是Spider的名称,allowed_domains是允许爬取的域名列表,start_urls是Spider开始爬取的URL列表。 parse方法定义了如何解析爬取到的网页数据。在这个例子中,我们使用XPath表达式获取title和body字段,并将结果存储到MyItem对象中。最后,使用yield语句将MyItem对象传递给Scrapy引擎。 4. 运行爬虫 在终端中使用以下命令来运行Spider: ``` scrapy crawl myspider ``` 这里的myspider是Spider的名称,对应于MySpider类中的name属性。 以上就是一个简单的使用Scrapy框架编写爬虫的例子。当然,这只是Scrapy的基础用法,Scrapy还有很多高级功能和用法,可以根据自己的需求进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值