Welcome to pcrawler’s documentation!¶
pcrawler是一款python版本的爬虫程序,通过该爬虫程序可以非常快速方便的编写一个自己的爬虫程序。pcrawler主要 包含downloader、schedular、processor、storage四大组件组成。而且可以非常方便快捷的拓展各个组件。
The code is open source, and available on GitHub.
The main documentation for the site is organized into a couple sections:
Information about development is also available:
Getting Started¶
pcrawler爬虫程序是由python编写,因此想要运行本程序必须要安装python环境,目前该程序支持 的python版本为python-2.7.15,其他的版本后续会持续增加。
Windows开发环境安装¶
官网(https://www.python.org/downloads/release/python-2715/)下载python的Windows x86-64 MSI installer安装包,然后一直下一步即可。
Linux开发环境安装¶
linux环境一般都自带python开发环境,但是需要查看python的版本号。可以通过 输入python命令查看python版本号,如果版本号差别太大请更换 python安装包。
爬虫程序运行¶
python crawler.py travis
pcrawler爬虫¶
pcrawler是一款python版本的爬虫程序,通过该爬虫程序可以非常快速方便的编写一个自己的爬虫程序。pcrawler主要 包含downloader、schedular、processor、storage四大组件组成。而且可以非常方便快捷的拓展各个组件。
特性¶
- 简单的API,可快速上手
- 模块化的结构,可轻松扩展
- 提供多线程和分布式支持
架构¶
pcrawler主要包含downloader、schedular、processor、storage四大组件组成。
- processor 爬虫页面处理器,对页面进行分析。目前集成图片下载处理器、多媒体视频下载处理器、新浪新闻处理器。
- schedular URL管理组件,对待抓取的URL队列进行管理,对已抓取的URL进行去重。目前url队列管理支持文件缓存管理和集合管理。url去重支持文件缓存、集合、bloomFilter布隆过滤器等。
- downloader 下载组件,默认使用urllib2下载。
- storage 存储组件,支持多样文件格式(csv、json、avro、video)
布隆过滤器¶
布隆过滤器是一个快速过滤数据的工具,pcrawler爬虫程序使用布隆过滤器主要是做爬虫去重的策略, 通过布隆过滤器可以大大减少内存消耗,本来项目使用list来去重,但是内存消耗太大,随着爬虫程序的 运行,会导致机器内存消耗过大,最终导致内存溢出。使用布隆过滤器大大减少了内存消耗