python开源爬虫框架_Python 主流爬虫框架
requests是python的一个HTTP客户端库,跟urllib,urllib2类似。那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:Beaut
requests是python的一个HTTP客户端库,跟urllib,urllib2类似。那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。
简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
pyspider是国人写的一款开源爬虫框架。用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。拥有以下特点:
用Python编写脚本
功能强大的WebUI,包括脚本编辑器,任务监视器,项目管理器和结果查看器
MySQL,MongoDB,Redis,SQLite,Elasticsearch ; PostgreSQL使用SQLAlchemy作为数据库后端
RabbitMQ,Beanstalk,Redis和Kombu作为消息队列
任务优先级,重试,定期,按年龄重新抓取等…
分布式架构,抓取Javascript页面,Python 2和3等…
Grab是一个用于构建Web scraper的python框架。使用Grab,您可以构建各种复杂性的Web scraper,从简单的5行脚本到处理数百万个Web页面的复杂异步网站爬虫。Grab提供用于执行网络请求和处理所接收内容的API,例如与HTML文档的DOM树交互。
Grab库中有两个主要部分:
1)单个请求/响应API,允许您构建网络请求,执行它并使用接收的内容。API是pycurl和lxml库的包装器。
2)用于构建异步Web爬网程序的Spider API。您编写的类为每种类型的网络请求定义处理程序。每个处理程序都能够生成新的网络请求。网络请求与异步Web套接字池同时处理。
Grab :: Spider用户手册
Grab :: Spider是一个构建结构良好的异步网站爬虫的框架。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)