Python爬虫用什么框架比较好?
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
python爬虫一般用什么框架比较好?一般来讲,只有在遇到比较大型的需求时,才会使用python爬虫框架。这样的做的主要目的,是为了方便管理以及扩展。本文将向大家推荐十个python爬虫框架,它们分别是scrapy、crawley、portia、newspaper、python-goose、beautiful soup、mechanize、selenium、cola和pyspider。
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爬虫一般用的十大主流框架。这些框架的优缺点都不同,大家在使用的时候,可以根据具体场景选择合适的框架。
上一篇: linux运行jar包、查看jar包进程、停止jar包
下一篇: JavaScript-异步执行原理