欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python爬虫用什么框架比较好?

程序员文章站 2024-01-17 10:44:16
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 Python爬虫一般用什么框架比较好?一般来讲,只有在遇到比较大型的需求时,才会使用Python爬虫框架。这样的做的主要目的,是为了方便管理以及扩展。本文将向大家推荐十个Py ......

 

Python爬虫用什么框架比较好?

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

python爬虫一般用什么框架比较好?一般来讲,只有在遇到比较大型的需求时,才会使用python爬虫框架。这样的做的主要目的,是为了方便管理以及扩展。本文将向大家推荐十个python爬虫框架,它们分别是scrapy、crawley、portia、newspaper、python-goose、beautiful soup、mechanize、selenium、cola和pyspider。

Python爬虫用什么框架比较好?

1、scrapy:

scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。它是很强大的爬虫框架,可以满足简单的页面爬取,比如可以明确获知url pattern的情况。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。它的特性有:html, xml源数据 选择及提取 的内置支持;提供了一系列在spider之间共享的可复用的过滤器(即 item loaders),对智能处理爬取数据提供了内置支持。

2、crawley:

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

3、portia:

是一个开源可视化爬虫工具,可让使用者在不需要任何编程知识的情况下爬取网站!简单地注释自己感兴趣的页面,portia将创建一个蜘蛛来从类似的页面提取数据。简单来讲,它是基于scrapy内核;可视化爬取内容,不需要任何开发专业知识;动态匹配相同模板的内容。  

4、newspaper:

可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。作者从requests库的简洁与强大得到灵感,使用python开发的可用于提取文章内容的程序。支持10多种语言并且所有的都是unicode编码。  

5、python-goose:

java写的文章提取工具。python-goose框架可提取的信息包括:文章主体内容、文章主要图片、文章中嵌入的任何youtube/vimeo视频、元描述、元标签。  

6、beautiful soup:

名气大,整合了一些常用爬虫需求。它是一个可以从html或xml文件中提取数据的python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.beautiful soup会帮你节省数小时甚至数天的工作时间。beautiful soup的缺点是不能加载js。  

7、mechanize:

它的优点是可以加载js。当然它也有缺点,比如文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。  

8、selenium:

这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。selenium是自动化测试工具,它支持各种浏览器,包括 chrome,safari,firefox 等主流界面式浏览器,如果在这些浏览器里面安装一个 selenium 的插件,可以方便地实现web界面的测试. selenium 支持浏览器驱动。selenium支持多种语言开发,比如 java,c,ruby等等,phantomjs 用来渲染解析js,selenium 用来驱动以及与 python 的对接,python 进行后期的处理。  

9、cola:

是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。项目整体设计有点糟,模块间耦合度较高。  

10、pyspider:

一个国人编写的强大的网络爬虫系统并带有强大的webui。采用python语言编写,分布式架构,支持多种数据库后端,强大的webui支持脚本编辑器,任务监视器,项目管理器以及结果查看器。python 脚本控制,可以用任何你喜欢的html解析包。 

以上就是python爬虫一般用的十大主流框架。这些框架的优缺点都不同,大家在使用的时候,可以根据具体场景选择合适的框架。