码迷,mamicode.com
首页 > 其他好文 > 详细

Hi.各位邮件我的朋友。

时间:2015-04-01 00:34:00      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

邮件我的朋友们。

你们问的问题绝大部分都能在网上获得相关资料,花点时间尝试即可解决。

其他合作或咨询请提供相关内容与预算参考。

博客与邮件意味着时间花费,我偶尔会看下这个博客,发给这个博客关联的邮箱的邮件会被转到另一个邮箱,我会在1,2周内看到邮件。

我目前仍旧做一些定制爬虫的事。下面的一段话或许对各位朋友有所帮助。

对于scrapy架构,抛开定制爬虫相关的一些技术细节(特定网站的防爬取突破,爬虫运行策略等)。scrapy的架构在不做大改的情况下,较适合最多不超过千万级(每天千万的请求量,千万级的解析量(要看具体解析内容,解析是计算密集型))每天的爬取。

大改的话-。-我倾向于重写。主要在请求调度(网络io密集,cpu消耗一般)以及解析调度(cpu密集)。然而即使重写的话,我依然会使用scrapy的内容解析部分(css and xpath selector)。

对于js模拟,目前有了一些新的技术。除手工模拟外,若使用phantomjs,webkit等模拟,关键在于异步化以及js模拟的调度(用模拟浏览器的方式访问页面,js属于cpu密集)。

对于ip限制。每天都要进行的爬取,追求稳定的,推荐使用按需付费的云主机,自建代理。对于偶尔的一次性爬取,可考虑taobao买代理,自己扫。自扫推荐用masscan先做端口扫描,再做代理可用性检测。

在解析不是瓶颈无需优化的情况下,几乎完全使用css选择,某些时候xpath,不要使用正则。这样将拥有最好的开发效率和维护成本。

当你的爬虫效率低的时候,确认是卡在CPU,网络IO还是磁盘IO上。

卡在CPU上时,profile一下确认瓶颈代码段,scrapy自带的item_loader里面用了很多动态特性,较卡cpu。另外如果计算资源实在不够,只能在开发代码上优化一下,写出效率更高css,xpath选择器(少用通用选择器,但这样会影响开发效率)。

卡网络io时-。-测试下是自己网络不佳还是对面服务器扛不住了。检查下dns。

卡磁盘io。看下数据库看下磁盘io-。-。



啊。大概就是这些了。















Hi.各位邮件我的朋友。

标签:

原文地址:http://my.oschina.net/u/1024140/blog/394411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!