python – Scrapy的最佳性能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Scrapy的最佳性能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1477字,纯文字阅读大概需要3分钟。
内容图文
![python – Scrapy的最佳性能](/upload/InfoBanner/zyjiaocheng/727/b14b4b2d76864243b1f8c26791ce933a.jpg)
我在我的专用服务器上使用Scrapy,我想知道如何为我的爬虫获得最佳性能.
这是我的自定义设置:
custom_settings = {
'RETRY_ENABLED': True,
'DEPTH_LIMIT' : 0,
'DEPTH_PRIORITY' : 1,
'LOG_ENABLED' : False,
'CONCURRENT_REQUESTS_PER_DOMAIN' : 32,
'CONCURRENT_REQUESTS' : 64,
}
我实际上爬了大约200个链接/分钟.
服务器:
32 Go RAM : DDR4 ECC 2133 MHz
CPU : 4c/8t : 2,2 / 2,6 GHz
解决方法:
1)使用Scrapyd run spiders
2)在scrapy中用于过滤访问过的URL的默认重复过滤器使用url指纹列表 – 基本上sha1哈希长度为40个字符,在Python 2.7中长度为77个字节.假设您必须使用2M页面刮取一个站点,然后您的重复过滤器列表可能会增长到每个Crawler 2M * 77b = 154Mb.为了能够同时刮掉300个这样的域,你需要300 * 154Mb = 42G的内存.幸运的是还有另一种方式 – 布卢姆过滤器.
3)在生产中我使用Scrapyd和Scrapy蜘蛛在分布式环境中运行
4)恕我直言,我建议使用带有报废实例的较小商品机器并运行蜘蛛而不是使用大型巨型机器.
5)分布式crawlers – 我没有亲自使用它.
6)使用Scrapy Debug查找内存管理(日志:2015-07-20 20:32:11-0400 [scrapy] DEBUG:telnet控制台监听127.0.0.1:6023)
telnet localhost 6023
prefs()
实时参考
# scrapy class Memory Time ago
HtmlResponse 3 oldest: 5s ago
CraigslistItem 100 oldest: 5s ago
DmozItem 1 oldest: 0s ago
DmozSpider 1 oldest: 6s ago
CraigslistSpider 1 oldest: 5s ago
Request 3000 oldest: 705s ago
Selector 14 oldest: 5s ago
内容总结
以上是互联网集市为您收集整理的python – Scrapy的最佳性能全部内容,希望文章能够帮你解决python – Scrapy的最佳性能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。