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

Installation

使用pcrawler需要安装的组件。其中有些组件是程序需要的,而有些组件是为了编写文档和测试代码覆盖率而添加的 组件。

项目组件

#使用bloomFilter来进行数据去重
pip install pybloom

#分析html
pip install lxml

#使用avro来存储爬虫数据
pip install avro

其他组件

#使用codecov来生成测试代码覆盖率
pip install codecov

#使用recommonmark来将md文件转化为rst文档
pip install recommonmark

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来去重,但是内存消耗太大,随着爬虫程序的 运行,会导致机器内存消耗过大,最终导致内存溢出。使用布隆过滤器大大减少了内存消耗