为了账号安全,请及时绑定邮箱和手机立即绑定

python 爬虫要不要用框架?

/ 猿问

python 爬虫要不要用框架?

holdtom 2018-11-11 18:14:45

python 爬虫要不要用框架


查看完整描述

1 回答

?
胡说叔叔

由于项目需求收集并使用过一些爬虫相关库,做过一些对比分析。以下是我接触过的一些库:

  • Beautiful Soup。名气大,整合了一些常用爬虫需求。缺点:不能加载JS。

  • Scrapy。看起来很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。

  • mechanize。优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。

  • selenium。这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。

  • cola。一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。

  • 以下是我的一些实践经验:

  • 对于简单的需求,比如有固定pattern的信息,怎么搞都是可以的。

  • 对于较为复杂的需求,比如爬取动态页面、涉及状态转换、涉及反爬虫机制、涉及高并发,这种情况下是很难找到一个契合需求的库的,很多东西只能自己写。

  • 至于题主提到的:

    还有,采用现有的Python爬虫框架,相比与直接使用内置库,优势在哪?因为Python本身写爬虫已经很简单了。

    third party library可以做到built-in library做不到或者做起来很困难的事情,仅此而已。还有就是,爬虫简不简单,完全取决于需求,跟Python是没什么关系的。


查看完整回答
1 反对 回复 2018-12-12

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信