一些较为高效的Python爬虫框架。分享给大家。
1.Scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。
项目地址:https://scrapy.org/
2.PySpider
pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。
项目地址:https://github.com/binux/pyspider
3.Crawley
Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
项目地址:http://project.crawley-cloud.com/
4.Portia
Portia是一个开源可视化爬虫工具,可让您在不需要任何编程知识的情况下爬取网站!简单地注释您感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。
项目地址:https://github.com/scrapinghub/portia
5.Newspaper
Newspaper可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。
项目地址:https://github.com/codelucas/newspaper
6.Beautiful Soup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。
项目地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
7.Grab
Grab是一个用于构建Web刮板的Python框架。借助Grab,您可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab提供一个API用于执行网络请求和处理接收到的内容,例如与HTML文档的DOM树进行交互。
项目地址:http://docs.grablib.org/en/latest/#grab-spider-user-manual
8.Cola
Cola是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。
项目地址:https://github.com/chineking/cola
Python爬虫:常用的爬虫工具汇总
将工具按照以上分类说明,按照学习路线顺序给出参考文章
一、页面下载器
- requests(必学)
- python爬虫入门requests模块
- Python爬虫:requests库基本使用
- Python爬虫:使用requests库下载大文件
- Python爬虫:requests多进程爬取猫眼电影榜单
- requests InsecureRequestWarning: Unverified HTTPS request is being made.
- scrapy
- Python网络爬虫之scrapy框架
- scrapy学习
- Python爬虫:关于scrapy模块的请求头
- Python爬虫:scrapy框架请求参数meta、headers、cookies一探究竟
- Python爬虫:scrapy辅助功能实用函数
- selenium+chrome + PhantomJS(抓取动态网页,不推荐)
- mac下安装selenium+phantomjs+chromedriver
- Python爬虫:selenium模块基本使用
- Python爬虫selenium模块
- Python爬虫:selenium和Chrome无头浏览器抓取烯牛数据动态网页
- Python爬虫:利用selenium爬取淘宝商品信息
- Python爬虫:selenium使用chrome和PhantomJS实用参数
- Splash(抓取动态网页,推荐)
- Python爬虫:splash的安装与简单示例
- Python爬虫:splash+requests简单示例
- Python爬虫:scrapy利用splash爬取动态网页
总结: 对于下载器而言,python自带的urllib就不要花时间去学了,学了就忘,直接requests
能满足大部分测试+抓取需求,进阶工程化scrapy
,动态网页优先找API接口
,如果有简单加密就破解,实在困难就使用splash渲染
二、页面解析器
- BeautifulSoup(入门级)
- Python爬虫入门BeautifulSoup模块
- pyquery (类似jQuery)
- Python爬虫:pyquery模块解析网页
- lxml
- Python爬虫:使用lxml解析网页内容
- parsel
- Extract text using CSS or XPath selectors
- scrapy的Selector (强烈推荐, 比较高级的封装,基于parsel)
- 选择器(Selectors)
- python爬虫:scrapy框架xpath和css选择器语法
总结: 其实解析器学习一个就够了,其他都不用学,很多培训会教你从上到下的学习,我不是很推荐,直接学习scrapy的Selector
就行,简单、直接、高效
三、数据存储
- txt文本
- Python全栈之路:文件file常用操作
- csv文件
- python读取写入csv文件
- sqlite3 (python自带)
- Python编程:使用数据库sqlite3
- MySQL
- SQL:pymysql模块读写mysql数据
- MongoDB
- Python编程:mongodb的基本增删改查操作
总结: 数据存储没有什么可深究的,按照业务需求来就行,一般快速测试使用MongoDB
,业务使用MySQL
四、其他工具
- execjs :执行js Python爬虫:execjs在python中运行javascript代码
- pyv8: 执行js mac安装pyv8模块-JavaScript翻译成python
- html5lib 1. Python爬虫:scrapy利用html5lib解析不规范的html文本
五、关于xpath练习
本人的一个开源项目:PageParser https://github.com/mouday/PageParser 用于解析网页,最终实现6行代码写爬虫,可以贡献代码,顺便练习网页解析的能力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479472.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!