限时干货下载:添加微信公众号“数据玩家「fbigdata」” 回复【2】免费获取「完整数据分析资料,包括SPSS\SAS\SQL\EXCEL\Project!」 来源:https://binux.blog/2014/11/introduction-to-pyspider/ 作者:binux (pre-ipo新三板企业投资机会,请联系微.信.号:6048856)
缘起pyspider 来源于以前做的一个垂直搜索引擎使用的爬虫后端。 我们需要从200个站点(由于站点失效,不是都同时啦,同时有100 在跑吧)采集数据,并要求在5分钟内将对方网站的更新更新到库中。 所以,灵活的抓取控制是必须的。同时,由于100个站点,每天都可能会有站点失效或者改版,所以需要能够监控模板失效,以及查看抓取状态。 为了达到5分钟更新,我们使用抓取最近更新页上面的最后更新时间,以此来判断页面是否需要再次抓取。 可见,这个项目对于爬虫的监控和调度要求是非常高的。 主要特性
由于功能太多,更多请参考脚本编写指南。 感谢 PhoenixNemo 提供的VPS,提供了一个 demo: demo.pyspider.org。无需安装即可体验。 脚本样例
例如这就是创建任务后默认生成的一个脚本示例。 通过 on_start 回调函数,作为爬取的入口点,当点击主面板上的 run 的时候,就是调用这个函数,启动抓取。 self.crawl 告诉调度器,我们需要抓取 'http://scrapy.org/' 这个页面,然后使用 callback=self.index_page 这个回调函数进行解析。 所有 return 的内容默认会被捕获到 resultdb 中,可以直接在 WEBUI 上看到。
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|