搜狐首页 科技 贴身校花2

手机搜狐

SOHU.COM

500 行 Python 代码构建一个轻量级爬虫框架

限时干货下载:添加微信公众号“数据玩家「fbigdata」”

回复【7】免费获取【完整数据分析资料!(包括SPSS、SAS、SQL、EXCEL、Project)!】

来源:http://blog.chriscabin.com/coding-life/web-crawler/xcrawler/1512.html

作者:chris@克里斯的小屋

引言

玩 Python 爬虫有段时间了,但是目前还是处于入门级别。xcrawler 则是利用周末时间构建的一个轻量级的爬虫框架,其中一些设计思想借鉴了著名的爬虫框架 Scrapy 。既然已经有像 Scrapy 这样优秀的爬虫框架,为何还要造轮子呢?嗯,其实最主要的还是想要将学习到 Python 知识综合起来,提高一下自己。

Features

  1. 简单、易用;

  2. 易于定制的 Spider ;

  3. 多线程实现并发下载。

待改进

  1. 更多的测试代码;

  2. 添加更多的网站爬虫示例;

  3. 完善爬虫调度,支持 Request 优先级调度。

xcrawler 介绍

项目结构

  1. ├── demo (一个示例 Spider

  2. │ ├── baidu_news.py

  3. │ └── __init__.py

  4. ├── README.md (项目文档)

  5. ├── setup.py (pip 安装脚本)

  6. ├── tests (测试代码,尚未完成)

  7. └── xcrawler (核心代码)

  8. ├── core

  9. │ ├── crawler.py (Crawlerprocess,负责管理引擎的配置和启动)

  10. │ ├── engine.py (Crawlerengine,负责调度并完成 URL 请求和调用解析方法)

  11. │ ├── __init__.py

  12. ├── __init__.py

  13. ├── spider

  14. │ ├── __init__.py

  15. │ ├── request.py

  16. │ ├── response.py

  17. │ └── spider.py (Spider基类,所有的自定义 Spider需要从此处继承)

  18. └── utils (一些工具函数)

  19. ├── __init__.py

  20. └── url.py

精选