笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

宽爬行

发布者: 笨鸟自学网



启用“Ajax可爬行页”的爬行

一些页面(根据2013年的经验数据,高达1%)宣称自己是 ajax crawlable . 这意味着它们提供了内容的纯HTML版本,通常只能通过Ajax提供。页面可以用两种方式表示:

  1. 通过使用 #! 在url中-这是默认方式;

  2. 通过使用一个特殊的元标签-这种方式在“主”、“索引”网站页面上使用。

Scrapy 处理(1)自动;处理(2)启用 AjaxCrawlMiddleware ::

AJAXCRAWL_ENABLED = True

在进行广泛的爬行时,通常会对许多“索引”网页进行爬行;AjaxCrawl中间件有助于正确地对它们进行爬行。它在默认情况下是关闭的,因为它有一些性能开销,启用它进行聚焦爬行没有什么意义。

按BFO顺序爬行

Scrapy crawls in DFO order by default .

然而,在广泛的爬行中,页面爬行往往比页面处理更快。因此,未处理的早期请求将保留在内存中,直到达到最终深度,这可以显著增加内存使用量。

Crawl in BFO order 而是保存内存。

注意内存泄漏

如果您的广泛爬行显示内存使用率很高,除了 crawling in BFO order 和 lowering concurrency 你应该 debug your memory leaks .

安装一个特殊的扭曲反应器

如果爬网超出了系统的能力,您可能需要尝试通过 TWISTED_REACTOR 设置。

1234

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-11-21 20:47 , Processed in 0.214721 second(s), 17 queries .

© 2001-2020

返回顶部