为了账号安全,请及时绑定邮箱和手机立即绑定

你好,请教一下scrapy 爬虫怎么在程序里把爬虫停止?

/ 猿问

你好,请教一下scrapy 爬虫怎么在程序里把爬虫停止?

繁星淼淼 2019-11-25 10:06:32

scrapy 爬虫怎么在程序里把爬虫停止


查看完整描述

3 回答

?
慕盖茨9453107

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

查看完整回答
反对 回复 2019-12-01
?
慕粉4167745
def __init__(self, crawler):     self.crawler = crawler      @classmethod def from_crawler(cls, crawler):     return cls(crawler) # 结束爬虫 self.crawler.engine.close_spider(spider, 'closespider')

上面是实现原理,实际上 scrapy.Spider 已经拥有了 crawler 属性,不必再像上面这样写。

在spider中可直接写:

1self.crawler.engine.close_spider(self'closespider')

在 pipeline 和  中间件Middlewares  中:

1spider.crawler.engine.close_spider(spider, 'closespider')



查看完整回答
反对 回复 2019-12-01
?
红颜莎娜

要防止scrapy被ban,主要有以下几个策略。
1.动态设置user agent
2.禁用cookies
3.设置延迟下载
4.使用IP地址池(Tor project、VPN和代理IP)
5.使用Crawlera

查看完整回答
反对 回复 2019-12-01

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信