目录
抓包方法
Fiddler
Fiddler 工作原理
安装方法
配置 Fiddler
项目:使用抓包分析获取腾讯视频评论数据
开始抓包分析
抓包过程分析
按照上面流程,每次触发一个页面,观察复制的 url 的规律
代码部分
第三讲:抓包分析技术精讲(课程笔记)
方法1:
进入网页,F12 ---> Network,访问某个网页,出现很多数据包,我们要获取和分析的就是这些数据包【如下图】。
但是这样抓包的缺点:杂内容多,跳转快速,不太好做分析,因此建议用抓包工具。
方法2:抓包工具 fiddler。
--问:抓包工具有许多,为什么选择 fiddler ?
--答:Fiddler 相对比较方便。
抓包,即将网络细节展现出来。
正常状态:网页/用户【发请求给】服务器,服务器【响应给】网页/用户。
有 Fiddler 后:网页/用户【发请求给】fiddler, fiddler【再给】服务器。同样,服务器相应也是经过fiddler给网页/用户响应。
所以,Fiddle 相当于一台代理服务器,它的IP地址是127.0.0.1,端口是8888。
官网下载:https://www.telerik.com/download/fiddler
自定义目录,按步骤安装即可。
打开软件的窗口界面,左边黑色的部分可以输入各种命令,现在只要知道 clear 清空界面命令。
课程视频内容有点老了,视频中老师的博文也打不开了。我百度配置的。课程建议 Fiddler 和 某个固定的浏览器绑定设置便于分析,我用的是QQ浏览器。
3. 设置connection,端口号默认为8888,可修改,但需注意:一是本机空闲端口,二是代理设置时端口保持一致。
我的这个端口提示被 python进程使用,我就随便用了一个端口 8887.
随便选一个电视剧,本文选用《清平乐》底下的评论。
看到好多评论。
点击观看《清平乐》,在该页面右击查看网页源代码,搜索网页评论。Ctrl + F 打开搜索框复制一个评论,发现找不到,说明评论被隐藏了,此时不能爬取,必须通过抓包分析。【如下图,,查找结果是0】
第一步,暂停视频,清空(clear 命令)fiddler。
第二步,翻评论,出来的就最新的评论信息。
Json 里面一般是文字信息。查看textView。因此,看 “content”信息就是评论数据。
(1)查看最先开始的短评 和 当前页面的最底部评论:
一直到
(2)点“查看更多评论”触发评论,出现json信息,自己复制链接,并查看 textview 是否对的上。
Fiddler 中第28个是新触发产生的json文件。
检查触发后的内容是否对的上(接着上页):
fiddler 页面第28的内容是新触发的评论内容,复制该链接:https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6653291461930496749&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999403
(3)查看当前页面结尾内容,再次触发一个页面。
再次触发操作后。
检查对应Fiddler第80 个json 文件,复制链接。
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6653290281292019066&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999404
观察 url 规律,如果没有规律就需要同时查看 textView 界面,观察相关参数,总之就是找规律,找隐藏的参数。
【1】
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6653291461930496749&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999403
【2】
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6653290281292019066&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999404
【3】
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6654735786308025259&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999405
【4】
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6654045810793234182&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999406
标为红色的部分是变化的部分。在Fiddler 中观察【3】的 “last” 参数如下,估计【3】之后的链接内容,cursor等于后面的内容是"last"的值,如下面链接【4】
-发现变换的部分是cursor【没有规律】 和 最后一个(视频博主说最后一个参数无关紧要,也可以每次+1)。
所以cursor是重要参数。发现last字段中等于该cursor。
所以,可以推论链接【5】的cursor部分是上一个,即【4】的 last的值。
推论链接如下:
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6655033871589428389&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999407
触发新的一页后,查看链接如下,发现和推论一致。
https://video.coral.qq.com/varticle/5041463513/comment/v2?callback=_varticle5041463513commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6655033871589428389&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1589556999407
代码很简单,可以参考本人主页的 “Python 爬虫 ?”系列文章的分析模式进行分析编写。若有兴趣可以去我的CSDN资源下载【腾讯视频评论爬虫】。
结果输出: