您的位置:首页 > 运维架构

开源爬虫OpenSpider(一)----------------第一次提交

2016-06-05 18:47 375 查看
OpenSpider github地址:

https://github.com/happyAnger6/OpenSpider

主要目的是学习使用python以及各种开源软件实现一个灵活的爬虫框架,这系列文章主要是对实现的过程进行介绍。

第一次提交主要实现以下功能:

主函数通过tornado库开启20个协程不断的从队列中获取url,直到url队列为空。获取到URL后,将页面的抓取工作交由Celery任务队列,这样实现了爬取任务的分布式。

爬取工作考虑到javascript的存在,通过selinum进行页面获取;获取到页面后通过BeautifulSoup进行页面解析,并抓取页面中的URL,将URL列表返回协程。协程将返回的URL放入队列。

代码结构介绍:



SpiderCelery:

此目录为celery部分代码,主要是实现celery实例以及celery任务的代码。

tests:

此目录为测试代码目录,用于对项目进行单元测试。

tries:

此目录主要为代码教程,对用到的开源软件进行简单的使用教程。

main.py:

程序入口

运行方式:

1.首先,启动celery实例:

OpenSpider$ celery -A SpiderCelery worker --loglevel info



2.启动主程序

/OpenSpider$ python main.py

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息