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

 找回密码
 立即注册

常见问题

发布者: 笨鸟自学网



我可怜的爬虫有记忆漏洞。我能做什么?

见 调试内存泄漏 .

此外,Python有一个内置的内存泄漏问题,在下面描述:ref:topics-leaks-without-leaks

我怎么能让 Scrapy 消耗更少的记忆?

请参阅前面的问题。

如何防止由于许多允许的域而导致的内存错误?

如果你有一只蜘蛛,上面有一长串 allowed_domains (例如50,000+),请考虑替换默认 OffsiteMiddleware 蜘蛛中间件使用 custom spider middleware 这需要较少的内存。例如:

  • 如果您的域名足够相似,请使用您自己的正则表达式,而不是在 allowed_domains 转换为复杂的正则表达式。

  • 如果可以的话 meet the installation requirements ,使用 pyre2 而不是Python的 re 若要编译URL过滤正则表达式,请执行以下操作。看见 issue 1908 。

另请参阅 StackOverflow 。

注解

记住要禁用 scrapy.spidermiddlewares.offsite.OffsiteMiddleware 启用自定义实施时:

SPIDER_MIDDLEWARES = {
    'scrapy.spidermiddlewares.offsite.OffsiteMiddleware': None,
    'myproject.middlewares.CustomOffsiteMiddleware': 500,
}

我可以在spider中使用基本的HTTP身份验证吗?

是的,请参阅:class:~scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware

为什么Scrapy用英语而不是我的母语下载页面?

尝试更改默认值 Accept-Language request header by overriding the DEFAULT_REQUEST_HEADERS 设置。

我在哪里可以找到一些零碎项目的例子?

见 实例 .

我可以在不创建项目的情况下运行蜘蛛吗?

对。你可以使用 runspider 命令。例如,如果有一个蜘蛛用 my_spider.py 您可以用以下方式运行它的文件:

scrapy runspider my_spider.py

有关详细信息,请参阅:command:`runspider`命令。


上一篇:远程登录控制台下一篇:调试spiders

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

GMT+8, 2024-9-8 11:36 , Processed in 0.085011 second(s), 17 queries .

© 2001-2020

返回顶部