前两篇文章是帮朋友转发的,正规意义上这个是我想和大家聊的第一个技术性的东西。
那么来聊一聊爬虫吧。
爬虫这个东西很好用,可以从互联网上指定获取或者批量获取一些信息,然后我们过滤筛选下,拿到对我们有用的信息,从而减少了手工的繁琐,实现自动化。既然这个东西这么好用,肯定就有商业利益了。比如说你想要某个网站的小说,某个网站的更新的信息列表,某网站上抢购个东西,某6上刷个回家的凭证。。。
现在搜索一下,各种爬虫的工具、教程、框架,给人提供了便利,即使这样,很多内容爬起来并不是那么容易。因为很多网站并不愿意爬虫获取到,比如某音的后台(你随随便便都获取了,不就抢他饭碗了),郭嘉、甄富的信息网站 (给个人提供方便的,岂能让随随便便给批量刷走了,谁知道你有什么意图啊)。。。不多说。
总之,不做防护的网站还是很多的,人家就是公布个信息,或者打个广告什么的,你方便自己用想怎么搞就怎么搞,别整成攻击型的就行,好比你爬一下度娘的内容,她毫不吝啬的就给你返回了,那么防护的都是什么东西呢?常见的不敢说,我遇到的大致就这几样,各式各样的验证码、js加密解密(包括静态和动态更新的)、ip限制、http检查(参数值、header、方式等)。
有朋友问我,我爬东西总是爬不到,我问他,你浏览器能访问到吗?他说能啊,我肯定得给他说,你浏览器能访问到,那你爬虫就能爬到,爬虫做好了和浏览器是没区别的,因为后台没法区分你是不是浏览器。。。现在爬虫的攻防战役战线已经拉的很广了,比如某6的验证码,那变态的验证码不照样没有拦住180*2么?说到这里,验证码的识别又是一门学问了,字母数字和汉字类型的,点选图片类型的,选择位置的,视图计算结果的,拖动的等等,可谓是精彩纷呈,这里暂不讨论这个,后续的可能会涉及一些这方面的探讨,我们暂就爬虫这一块继续下去。
话说,作为今天的一个展现技术实力的文章,自然少不了点干货。下面我们来看一下爬虫的流程吧。
这里我们以”北京时间“为例,比如我喜欢他们某一块的新闻专栏”快讯“,想看一看里面的标题,就走个爬虫,定时看一看。
首先,用谷歌或者火狐(其他浏览器也可以的,都有开发者工具),检查下"快讯",我们看到了这个,如下图:
发现,这个是个动态js加载的,那就好办了,js怎么加载,你顺腾摸瓜就可以了(这一块,没必要深究,牵扯到前端的一些功底,不过也不要紧,没有功底的问题也不大),这里就是个ascii编码。
顺着浏览器,抓一下包,看一下它的请求
这里发现没有搜索到关键字,那就对了,ascii编码一下
我们再来搜索一下(这里需要转义‘\’)
最后,拿到东西了,那剩下来的就好办了,解析一下就OK了呗,当然怎么解析我就不细说了,后续的我再给出源代码,今天就暂时的聊到这里吧。
网友评论