您的位置:新闻资讯 >文章内容
如何编写简单爬虫?爬虫是不是越高级越好?
来源:互联网 作者:admin 时间:2018-12-18 17:34:10

  都说爬虫比较简单,容易学,到底多简单呢?今天精灵代理就为大家介绍一下如何编写简单爬虫,以及高级爬虫怎么编写的方法。爬虫是不是越高级越好呢?


  一、如何编写简单爬虫


  1.分析页面请求格式


  2.创建合适的http请求


  3.批量发送http请求,获取数据


  举个例子,直接查看携程生产url。在详情页点击“确定”按钮,会加载价格。假设价格是你想要的,那么抓出网络请求之后,哪个请求才是你想要的结果呢?


  答案出乎意料的简单,你只需要用根据网络传输数据量进行倒序排列即可。因为其他的迷惑性的url再多再复杂,开发人员也不会舍得加数据量给他。


如何编写简单爬虫,爬虫是不是越高级越好


  二、高级爬虫怎么编写


  1.PhantomJs


  这个是一个极端的例子。这个东西本意是用来做自动测试的,结果因为效果很好,很多人拿来做爬虫。但是这个东西有个硬伤,就是:效率。此外PhantomJs也是可以被抓到的,出于多方面原因,这里暂时不讲。


  2.模拟JavaScript


  有些教程会说,模拟javascript,抓取动态网页,是进阶技巧。但是其实这只是个很简单的功能。因为,如果对方没有反爬虫,你完全可以直接抓ajax本身,而无需关心js怎么处理的。如果对方有反爬虫,那么javascript必然十分复杂,重点在于分析,而不仅仅是简单的模拟。


  换句话说:这应该是基本功。


  3.分布式


  通常会有一些教材告诉你,为了爬取效率,需要把爬虫分布式部署到多台机器上。这完全是骗人的。分布式唯一的作用是:防止对方封IP。封IP是终极手段,效果非常好,当然,误伤起用户也是非常爽的。


  上文介绍了如何编写简单爬虫,以及高级爬虫怎么编写的方法,越是低级的爬虫,越容易被封锁,但是性能好,成本低。越是高级的爬虫,越难被封锁,但是性能低,成本也越高。


  当成本高到一定程度,我们就可以无需再对爬虫进行封锁。经济学上有个词叫边际效应。付出成本高到一定程度,收益就不是很多了。


相关文章内容简介
在线咨询
微信公众号

微信公众号

回到顶部