开源爬虫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
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
相关文章推荐
- Python3写爬虫(四)多线程实现数据爬取
- Scrapy的架构介绍
- 爬虫笔记
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- 基于C#实现网页爬虫
- C#分布式事务的超时处理实例分析
- Nodejs爬虫进阶教程之异步并发控制
- Erlang分布式节点中的注册进程使用实例
- PHP+HTML+JavaScript+Css实现简单爬虫开发
- 如何优雅地使用c语言编写爬虫
- PHP实现简单爬虫的方法
- NodeJS制作爬虫全过程(续)
- php实现简单爬虫的开发
- C++实现的分布式游戏服务端引擎KBEngine详解
- node.js基础模块http、网页分析工具cherrio实现爬虫
- PHP爬虫之百万级别知乎用户数据爬取与分析
- 一个PHP实现的轻量级简单爬虫
- nodejs爬虫抓取数据乱码问题总结
- 基于Node.js的强大爬虫 能直接发布抓取的文章哦
- nodeJs爬虫获取数据简单实现代码