天天看点

Python 爬虫框架

scrapy (推荐)

地址: Scrapy | A Fast and Powerful Scraping and Web Crawling Framework

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。

Crawley

地址:Crawley Project · Crawley Project

高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等

  • 建立在Eventlet上的高速网络爬虫。
  • 将数据存储在关系数据库中,如Postgres、MySQL、Oracle、Sqlitt。
  • 将数据导出为JSON,XML格式。新的
  • 支持像MongoDB和CouchDB这样的NoSQL数据库。新的
  • 命令行工具。
  • 使用您最喜欢的工具提取数据。XPath或PyQuery(用于python的类似jQuery的库)。
  • 用于刮取受保护的登录页面的cookie处理程序。
  • 非常容易使用(请参阅实例)

Portia

地址:Fast & Reliable Data Web Scraping Services for any size business

Portia 是一个用 Python 编写无需任何编程知识,就能可视爬取网站数据的开源工具。无需下载或安装任何东西,因为,Portia 是运行在您的 Web 浏览器中。

Portia 是 scrapyhub 开源的一款可视化爬虫规则编写工具。Portia 提供了可视化的 Web 页面,只需通过简单点击,标注页面上需提取的相应数据,无需任何编程知识即可完成爬取规则的开发。这些规则还可在 Scrapy 中使用,用于抓取页面。

PySpider

地址:Introduction - pyspider

PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。

grab

地址:Grab - modern python framework for data scraping

网络爬虫框架(基于pycurl/multicur)。

cola

地址:GitHub - qinxuye/cola: A high-level distributed crawling framework.

一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。