- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 scrapy Crawlspider 有一个问题:基本上,如果引发 CloseSpider 异常,它不会像应该的那样退出。下面是代码:
from scrapy.spiders import CrawlSpider, Rule
from scrapy.exceptions import CloseSpider
from scrapy.linkextractors import LinkExtractor
import re
class RecursiveSpider(CrawlSpider):
name = 'recursive_spider'
start_urls = ['https://www.webiste.com/']
rules = (
Rule(LinkExtractor(), callback='parse_item', follow=True),
)
miss = 0
hits = 0
def quit(self):
print("ABOUT TO QUIT")
raise CloseSpider('limits_exceeded')
def parse_item(self, response):
item = dict()
item['url'] = response.url
item['body'] = '\n'.join(response.xpath('//text()').extract())
try:
match = re.search(r"[A-za-z]{0,1}edical[a-z]{2}", response.body_as_unicode()).group(0)
except:
match = 'NOTHING'
print("\n")
print("\n")
print("\n")
print("****************************************INFO****************************************")
if "string" in item['url']:
print(item['url'])
print(match)
print(self.hits)
self.hits += 10
if self.hits > 10:
print("HITS EXCEEDED")
self.quit()
else:
self.miss += 1
print(self.miss)
if self.miss > 10:
print("MISS EXCEEDED")
self.quit()
print("\n")
print("\n")
print("\n")
问题是,虽然我可以看到它进入了条件,并且我可以看到日志中引发的 Eception,但爬虫仍在继续爬行。我运行它:
scrapy crawl recursive_spider
最佳答案
我猜这是一个 scrapy 只是花了太长时间才关闭而不是真正忽略异常的情况。引擎在运行完所有计划/发送的请求之前不会退出,因此我建议降低 CONCURRENT_REQUESTS/CONCURRENT_REQUESTS_PER_DOMAIN
设置的值,看看这是否适合您。
关于python - Scrapy CrawlSpider 不会退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51658531/
我一直在学习如何使用 scrapy,尽管我一开始对 python 的经验很少。我开始学习如何使用 BaseSpider 进行抓取。现在我正在尝试抓取网站,但我遇到了一个让我很困惑的问题。这是来自官方网
我对 scrapy Crawlspider 有一个问题:基本上,如果引发 CloseSpider 异常,它不会像应该的那样退出。下面是代码: from scrapy.spiders import Cr
我正在尝试从此类别页面上给出的所有(#123)详细信息页面中抓取一些属性 - http://stinkybklyn.com/shop/cheese/但 scrapy 无法遵循我设置的链接模式,我也检查
我目前正在用 scrapy 编写一个爬虫。我想抓取网站上显示的所有文本,不是单个页面,而是所有子页面。我正在使用 CrawlSpider,因为我认为它也是为了抓取其他页面而设计的。这是我到目前为止编写
我正在开发一个 CrawlSpider ,它获取多个 Domain 对象(它包含 main_url 和 name -域名)。然后它会抓取整个页面的每个 Domain 对象。 因此有一个 Domain
对于我试图抓取的页面,我有时会在我的响应中返回一个“占位符”页面,其中包含一些自动重新加载的 javascript,直到它获得真正的页面。我可以检测到这种情况何时发生,并且我想重试下载和抓取页面。我在
我对规则在 CrawlSpider 中的评估顺序有疑问。如果我有以下代码: from scrapy.contrib.spiders.crawl import CrawlSpider, Rule fro
我正在尝试导航到每个县,然后从这里导航到每个县的每个城市: http://www.accountant-finder.com/CA/California-accountants.html 我的代码打开
Crawlspider 仅获取列表首页上匹配链接的子集。不久之后,它移动到第二页,成功跟踪所有匹配的链接,完全符合预期。如何让 Crawlspider 在进入第二页之前遵循所有匹配的链接? 我在第二条
我写了一个 scrapy crawlspider 来抓取一个结构类似于类别页面 > 类型页面 > 列表页面 > 项目页面的站点。在类别页面上有很多机器类别,每个类别都有一个包含很多类型的类型页面,每个
我是 Scrapy 的新手,我正在做一个抓取练习,我正在使用 CrawlSpider。虽然 Scrapy 框架工作得很好并且它遵循相关链接,但我似乎无法让 CrawlSpider 抓取第一个链接(主页
我创建的 CrawlSpider 没有正常工作。它解析第一页,然后停止而不继续到下一页。我做错了什么但无法检测到。希望有人给我一个提示,我应该做什么来纠正它。 “items.py”包括: from s
我在 Scrapy 中编写了一个蜘蛛,它基本上做得很好,并且完全按照它应该做的。 问题是我需要对它做一些小的改变,我尝试了几种方法都没有成功(例如修改 InitSpider)。这是脚本现在应该执行的操
我正在尝试创建一个实现 scrapy CrawlSpider 的 ExampleSpider。我的 ExampleSpider 应该能够处理仅包含艺术家信息的页面,仅包含专辑信息的页面,以及包含专辑和
问题陈述: 我在文件名为 myurls.csv 的每一行中都有一个论坛 url 列表,如下所示: https://www.drupal.org/user/3178461/track https://w
我想知道是否有一种方法可以在 scrapy 中的同一个蜘蛛中同时使用 Base 蜘蛛和 Crawl 蜘蛛! 假设我只想抓取 start_url 中提到的一个 url,然后对同一 start_url 中
我的蜘蛛有一些问题。我使用 splash 和 scrapy 来获取由 JavaScript 生成的“下一页”的链接。从第一页下载信息后,我想从后面的页面下载信息,但是LinkExtractor功能不能
最初的问题 我正在编写一个 CrawlSpider 类(使用 scrapy 库)并依赖大量的 scrapy 异步魔法 使其工作。在这里,精简了: class MySpider(CrawlSpider)
我一直在努力理解在网络抓取中使用 BaseSpider 和 CrawlSpider 的概念。我读过 docs.但是BaseSpider上没有提及。如果有人能解释一下 BaseSpider 和 Craw
我已经成功地使用 Scrapy 编写了一个非常简单的爬虫,具有这些给定的约束: 存储所有链接信息(例如: anchor 文本、页面标题),因此有 2 个回调 使用 CrawlSpider 来利用规则,
我是一名优秀的程序员,十分优秀!