Python 无休止的爬行

Python 无休止的爬行,python,scrapy,web-crawler,Python,Scrapy,Web Crawler,我已经用Python Scrapy在一个分销商网站上构建了一个爬行蜘蛛。我只是试图收集该域下的所有URL,以及每个页面下列出的URL。然后我可能想使用Gephi来可视化该域的网络连接 (1) 已爬网的URL如何存储(内存或磁盘)以及爬网限制是多少? 然而,我认为这个爬虫程序已经运行了4天,它已经爬过了大约700K页。 我知道Scrapy不会抓取它已经抓取的页面,但我想知道:随着页面数量的增加,Scrapy是否会“记住”它已经抓取的页面?爬网的URL将保留在内存中,或者这背后的机制是什么 (2)

我已经用Python Scrapy在一个分销商网站上构建了一个爬行蜘蛛。我只是试图收集该域下的所有URL,以及每个页面下列出的URL。然后我可能想使用Gephi来可视化该域的网络连接

(1) 已爬网的URL如何存储(内存或磁盘)以及爬网限制是多少? 然而,我认为这个爬虫程序已经运行了4天,它已经爬过了大约700K页。 我知道Scrapy不会抓取它已经抓取的页面,但我想知道:随着页面数量的增加,Scrapy是否会“记住”它已经抓取的页面?爬网的URL将保留在内存中,或者这背后的机制是什么

(2) 对单个域的爬网是否总是有终点?如果没有呢? 顺便说一句,我现在应该停止爬行吗?因为我不知道这个蜘蛛什么时候会结束,我不知道他们是否有可能有一些动态页面,所以“域爬行”实际上是一个无休止的任务。。。。例如,它们有一些参数化搜索框,这些搜索的所有组合将导致一个新页面(javascript调用),但实际上。。这导致了大量的裁员

在我了解Scrapy之前,我尝试先找出URL中的模式,然后填充所有URL,然后转到每个URL并使用urllib2+bs4进行刮取。所以我不太确定这种“盲目”的爬行行为实际上是可控的


这里可能有一些“哲学”问题,而不是具体的问题,但是。。。欣赏任何想法或想法

你到底在问什么?如果Scrapy保留了一段历史?@RobertHarvey这确实是问题之一,他们将抓取的URL保存在内存中还是什么?根据他的说法,你负责存储抓取的数据。概述(及其相关页面)解释了如何执行此操作。如何使用scrapy执行“计划”爬网?我的意思是,我不希望scrapy连续运行,我希望它运行1K个URL,然后休息一下,重新启动。我是否应该担心“刮皮”的停顿?另一件事,如果刮痧爬行由于某种原因失败,我如何从它停止的地方重新开始?它是自动完成的吗?还是我必须重新从头开始?