python 框架_python爬虫框架

cfabb76aeba77402679c2ca21d34e4d6.png

框架

爬虫框架简介

我们直接用requests、Selenium等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。但是写多了会发现内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久而久之,爬虫框架就诞生了。

抽象,是对于大量具体实例的抽象。没有对大量具体实例的感知,也很难对抽象的规律或框架有深刻的理解。

利用框架,我们可以不用再去关心某些功能的具体实现,只需要关心爬取逻辑即可。有了它们,可以大大简化代码量,而且架构也会变得清晰,爬取效率也会高许多。

所以,如果有一定的基础,上手框架是一种好的选择。

pyspider

pyspider是国人binux编写的强大的网络爬虫框架,它带有强大的WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,另外还支持JavaScript渲染页面的爬取。

pyspider的优点:

1.提供WebUI界面,调试爬虫很方便;

2.可以很方便的进行爬取的流程监控和爬虫项目管理;

3.支持常见的数据库;

4.支持使用PhantomJS,可以抓取JavaScript页面;

5.支持优先级定制和定时爬取等功能;

Scrapy

Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

pyspider和Scrapy的比较

1.pyspider 提供 WebUI,Scrapy它采用的是代码和命令行操作,但可以通过对接 Portia实现可视化配置。

2.pyspider 支持 PhantomJS来进行 JavaScript 谊染页面的采集, Scrapy 可以对接 Sc rapy-Splash组件,这需要额外配置。

3.pyspider 中内置pyquery 作为选择器而Scrapy 接了XPath 对接css选择器和正则匹配。

4.pyspider的可扩展程度不高,Scrapy可以通过对接其他的模块实现强大的功能,模块之间的耦合度低。

所以如果要快速实现一个页面的抓取,推荐使用 pyspider,开发更加便捷;如果要应对反爬程度很强、超大规模的抓取,推荐使用 Scrapy。


后记:框架、套路、方法、策略、模型、算法,这些词汇描述的内容本质上是一样的,当我们学习和掌握了这些之后,只是意味着我们具备了上路的资格,而不是成为了高手。

就像开车,我们知道了怎样打方向盘,教练也会教我们,车到了什么位置,我们应该看哪个点,方向盘打一圈还是打死等等一些方法。但是真正上路之后,我们才会发现路况的复杂,并不能机械的使用这些方法,而是需要根据现场的情况去判断方向盘应该打多少才刚刚好。当成了老司机之后,这些方法、策略可能已经融到身体里了,这个阶段,已经是无招胜有招了,达到了出神入化的境界。

框架、套路、方法、策略、模型、算法,这些当然很重要,是基础,当我们学了这些内容之后,接下来的重心应该放到,在大量的、实际的具体案例中去感知、去实践、去优化。实际情况远比这些理论要复杂,而所谓的复杂,是因为规模导致的知道的或不知道的各种各样的情况很多,多的超乎想象。复杂不是难,而是情况和状况多。理论是为了研究的方便构建的某些维度的简化模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值