为了继续优化我的公众号绝对影迷的爬虫,今天又继续研究了下优酷视频信息能否从api解析出来,经过一段时间调查终于搞定!至此,所有的绝对影迷的视频信息都从api获取到。
这么做的好处是信息会很精准,就如上次遇到的优酷页面时间展示问题太坑,无法从被缩的字符上解析到正确的时间。
首先是发现PC访问优酷没有ajax之类api交互,使用移动端访问(chrome调试改下设备),很显然找到相应的请求接口,但是自己直接调用这个接口是没用的。
使用Fiddler抓包看到如下信息:
然后用fiddler搜索关键字X-CSRF-TOKEN,会找到一个js文件里有这个,然后稍微看下js文件,发现其实这个csrf就是response中的set-cookies中的一项。
每次get需要附带这个csrf标识,并且他会返回一个新的csrf下一次请求需要用新的!
当然使用ajax接口,还会有其它问题,如图片大小不够清晰,又要去对比下pc图片和移动图片区别加以修改才能抓到高清图像地址。
虽然使用api的方式获取的信息很精准,但是也要注意网站改版等问题,需要不断维护下去。只有对电影感兴趣,真的爱好,才能一直把这个公众号经营下去!