Python 摩擦性能在5分钟后下降
我正在尝试使用scrapy创建一个小型网站爬虫。我有100Mbps的光纤互联网 Scrapy以每分钟350页的速度开始解析。 然后速度开始下降,直到它徘徊在每分钟20页左右 我正在使用以下(相对简单的)spiderPython 摩擦性能在5分钟后下降,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在尝试使用scrapy创建一个小型网站爬虫。我有100Mbps的光纤互联网 Scrapy以每分钟350页的速度开始解析。 然后速度开始下降,直到它徘徊在每分钟20页左右 我正在使用以下(相对简单的)spider 谢谢您的帮助。您是否启用了自动油门开关?插入DB是否会产生影响?DB在带有四CPU的SSD驱动器上运行。自动爬网功能已禁用。爬网程序是否可能已经覆盖了站点上的大多数链接?还可以尝试检查重复请求的数量。为了避免在数据库中重复插入,我使用了一个更新功能,如果url与数据库中已有的url匹
谢谢您的帮助。您是否启用了
自动油门
开关?插入DB是否会产生影响?DB在带有四CPU的SSD驱动器上运行。自动爬网功能已禁用。爬网程序是否可能已经覆盖了站点上的大多数链接?还可以尝试检查重复请求的数量。为了避免在数据库中重复插入,我使用了一个更新功能,如果url与数据库中已有的url匹配,则可以防止添加网站。但scrapy确实再次下载了它们。但是我怎样才能防止它这样做呢?您是否启用了自动油门
开或关?插入DB是否会产生影响?DB在带有四CPU的SSD驱动器上运行。自动爬网功能已禁用。爬网程序是否可能已经覆盖了站点上的大多数链接?还可以尝试检查重复请求的数量。为了避免在数据库中重复插入,我使用了一个更新功能,如果url与数据库中已有的url匹配,则可以防止添加网站。但scrapy确实再次下载了它们。但我怎样才能防止它这样做呢?
class DefaultSpider(CrawlSpider):
name = "default"
session_id = -1
rules = [Rule(LinkExtractor(allow=()),callback='insert_linkDB',follow=True)]
db = DBConnector()
def start_requests(self):
for url in listurl:
yield scrapy.Request(url=url, callback=self.insert_linkDB)
def insert_linkDB(self, response):
DB.insert(response.url, response.text)
for link in self.rules[0].link_extractor.extract_links(response):
if((link.url.find(self.currentDomain)>=0) and (link.url.find("psml")==-1)):
yield scrapy.Request(url=link.url, callback=self.insert_linkDB)