Python 摩擦性能在5分钟后下降

Python 摩擦性能在5分钟后下降,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在尝试使用scrapy创建一个小型网站爬虫。我有100Mbps的光纤互联网 Scrapy以每分钟350页的速度开始解析。 然后速度开始下降,直到它徘徊在每分钟20页左右 我正在使用以下(相对简单的)spider 谢谢您的帮助。您是否启用了自动油门开关?插入DB是否会产生影响?DB在带有四CPU的SSD驱动器上运行。自动爬网功能已禁用。爬网程序是否可能已经覆盖了站点上的大多数链接?还可以尝试检查重复请求的数量。为了避免在数据库中重复插入,我使用了一个更新功能,如果url与数据库中已有的url匹

我正在尝试使用scrapy创建一个小型网站爬虫。我有100Mbps的光纤互联网

Scrapy以每分钟350页的速度开始解析。 然后速度开始下降,直到它徘徊在每分钟20页左右

我正在使用以下(相对简单的)spider


谢谢您的帮助。

您是否启用了
自动油门
开关?插入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)