了解Python爬虫框架
什么是python爬虫框架
简单的来说,python的爬虫框架就是一些爬虫项目的半成品。比如可以将一些常见爬虫功能的实现代码部分写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,编写少量需要变动的代码部分,并按照需求调用这些接口,即可以实现一个爬虫项目。
这里的“半成品”主要有两层含义:
1)、这些框架并不是爬虫项目成品,需要用户根据具体爬虫任务更改之后才可以正常使用。
2)、在框架中已经实现了很多爬虫要实现的常见功能,所以能够让我们在使用框架开发爬虫项目的时候节省精力,从而更高效的开发出一些优质爬虫。
即爬虫框架主要是将一些常见的功能代码、业务逻辑等进行封装,从而能够让我们以高效率开发出对应的爬虫项目。
python的常见框架
python的常见框架主要有:
框架 | 网址 |
---|---|
Scrapy | https://scrapy.org/ |
Crawley | http://project.crawley-cloud.com/ |
Portia | https://github.com/scrapinghub/portia |
newspaper | https://github.com/codelucas/newspaper |
Python-goose | https://github.com/grangier/python-goose |
1.scrapy框架
scrapy框架是一套比较成熟的python爬虫框架,是使用python开发的快速、高层次的信息爬取框架,可以高效率地爬取web页面并提取出我们关注的结构化数据。
scrapy框架的应用领域有许多,比如网络爬虫,数据挖掘、数据监测、自动化测试等。
scrapy框架是一套开源的框架,开源也就意味着我们能够看到并且免费试用scrapy的所有代码。
2.crawley框架
crawley也是使用python开发出来的一款爬虫框架,该框架致力于改变人们从互联网中提取数据的方式,让大家可以更高效地从互联网中爬取对应内容。
crawley框架的主要特点有:
- 高速爬取对应网站内容;
- 可以将爬取到内容轻松地存储到数据库中,比如:Postgres,MySql,Oracle,SQLite等数据库;
- 可以将爬取到的数据导出为JSON,XML等格式;
- 支持非关系型数据库,比如:MongoDB,CouchDB等;
- 支持使用命令行工具;
- 可以使用你喜欢的工具提取数据,比如使用Xpath或者PyQuery等工具;
- 支持使用Cookie登陆并访问哪些只有登陆才能够访问的网页
- 简单易学
3.portia框架
portia框架是一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架,给出你要爬取的网页中感兴趣的数据内容,通过portia框架,可以将你所需要的信息从相似的网页中自动提取出来。
如何使用Portia框架:
Ubuntu部署可视化爬虫Portia2.0环境
可视化爬虫Portia安装和部署踩过的坑
4.newspaper框架
newspaper框架是一种用来提取新闻、文章以及内容分析的python爬虫框架。更准确地说,newspaper是一个python的库,只不过这个库是由第三方开发的,可以归为一种框架。
newspaper框架在的主要特点:
- 比较简单
- 速度比较快
- 支持多线程
- 支持十多种语言
由此我们可以知道newspaper框架是轻量级框架,并且就爬取文章信息这一功能来说,使用起来很方便
5.Python-goose框架
coose本来是一款用java写的文章提取工具,Xavier Grangier用python重写了goose,并将重写后goose命名为python-goose。所以,python-coose框架实现的功能同样是进行文章提取。
我们可以使用Python-goose框架主要提取如下信息:
- 文章主题内容
- 元描述
- 元标签
- 文章中的任何Vimeo视频
- 文章中的主要图片
本篇文章主要是韦玮老师的《精通Python网络爬虫》书中所记录的。如有兴趣的同学可以参考此书。