工作杂记三

来源:互联网 发布:阿里云企业备案流程图 编辑:程序博客网 时间:2024/06/02 18:40

  上班第四周,终于能抽一点时间来写这篇第三周的杂记,上周的工作用一句话来总结,生命不息,爬虫不止。

  因为某些原因,留意了一下去哪儿的一个技术人员有关反爬虫的采访,里面提到了其中一类会爬虫的人,就是一些分析到没什么数据好分析,就来爬人家的数据的,我觉得,说的很对!!

  这次要做的事情目标很明确,从网上爬内容,然后进行情感分析,主题分析,但前提是,需要先爬到数据。

  由于之前接触到的方法都是通过url传参,即request.get(url,params)或者request.post(url,data),但现在想爬的目标网站,有这么一个问题,就是它的参数里面有一个code,这个code是通过js代码(不可获得,或者说懒得去获得)产生的,那就涉及到一个编码和解码的过程,想到这个就一阵阵头痛了,那其实有没有办法,可以绕过这个坎呢,下面我根据我自己的思路和想法来解释一下这事情。

  之前的两篇杂记里面也说过,爬虫的本质,就是通过一些手段,去获取页面的“源码”(这里源码打双引号,后面会说明),然后对源码的元素进行分析。但因为目前的网页技术发展迅猛,动态页面技术使用频繁,这就导致了我们得到的源码,其实并不是源码,而是缺少了用AJAX等动态技术来渲染的部分。所以现在爬虫面临,经常面临的问题,就是如何获得这些动态加载的内容。前面说到传参是一种方式,但参数不好解析。但虽说源码看不到,可我们浏览器可以看到啊!!!那能不能模仿浏览器,去获取到这源码,甚至去操作页面呢!?于是才疏学浅的我,上网搜了一下(之前真的完全没有接触过),发现了selenium这个神器(坑坑洼洼的神器)。

  这个神器,首先我用了几天了一直不知道该怎么发音,咳。其实就是结合浏览器(firefox,chrome,phantomjs等),去模仿浏览器的一切操作,然后替你获取到真正的的源码(driver.page_source)。所谓模仿浏览器的操作,就是点击,填充textarea,tab,enter等等,足够你用了,因为很多时候,我就是用它来翻页的。至于怎么去用它,网上有很多的资料,这里推荐一个http://cuiqingcai.com/2599.html    。 至于为什么说是坑坑洼洼,因为使用这个库,会抛出巨多莫名其妙的Exception,需要慢慢参透。

  因为我的杂记并不是技术研讨和介绍,只是自己工作中的一些思路和感受。用这个库并不难,难的是你要先知道这个库,也就是这个思路。

  最后说一句,生命是美好的,生命不息,努力不止,越努力越幸运,榨油!