网络爬虫---抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)

抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)

文章目录

    • 抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)
      • 一、抓包分析
        • 1.下载工具并安装
        • 2.Fiddler工具的使用
      • 二、爬取腾讯视频某视频所有评论
        • 1.思路分析
        • 2.具体代码
        • 3.结果展示

一、抓包分析

1.下载工具并安装

如果我们要进行抓包分析,首先,我们必须要有一款抓包的工具,只有用工具抓到包,我们才能进行分析,在这里我介绍一款抓包软件Fiddler,我这里有这个软件的分享:
链接:https://pan.baidu.com/s/1JvJvH7wfRLzALluOrOlcvQ
提取码:9099
安装不需要过多的说,按照上面提示的步骤装就可以了。

2.Fiddler工具的使用

(1)首先,Fiddler工具分为四块:显示所抓的包、请求区、响应区和语句输入区
在这里插入图片描述
(2)有的js包需要手动点击一下,才能解析出来:
在这里插入图片描述
(3)一般,我们抓包分析都是点击响应区中的TextView,再观察。

二、爬取腾讯视频某视频所有评论

1.思路分析

这里我想爬取斗罗大陆的所有评论。
(1)进入到斗罗大陆动画片的评论区:
在这里插入图片描述
(2)打开Fiddler,然后,刷新页面,找到存放评论信息的js包:
在这里插入图片描述
在这里插入图片描述
(3)因为评论是手动点击加载更多触发的,所有,我们多加载几个:
在这里插入图片描述
(4)观察网址结构,得出结论:
在这里插入图片描述
(5)下一个提取id我发现每次都可以在上一个js包中找到,这些js包像一个链表一样,是链式链接的。下面的图片是我在第一个js包中搜索第二个js包的id的例子:
在这里插入图片描述
这样,我们就能找到所有的js包,从而爬取所有的评论。

2.具体代码

#提取10次,每次提取10个
import urllib.request,time
import urllib.error
import random,re'''
作用:该模块为爬虫设置用户和ip代理
参数:thisUrl是要爬取的网址ip_pool是ip代理池
返回值:返回爬取网页信息的二进制数据
'''
def ua_ip(thisUrl, ip_pool):#构建用户代理池ua_pool = ['Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5558.400 QQBrowser/10.1.1695.400','User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)',"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)","Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)","Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)","Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)","Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6","Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0","Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20","Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 LBBROWSER","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1","Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b13pre) Gecko/20110307 Firefox/4.0b13pre","Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11","Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10"]thisUA = random.choice(ua_pool) #从用户代理池中随机选择一个用户代理thisIP = random.choice(ip_pool) #从ip代理池中随机选择一个ip代理print("用户代理:{}".format(thisUA))print("ip代理:{}".format(thisIP))#将IP代理格式化proxy = urllib.request.ProxyHandler({'http': thisIP})#安装IP代理,并构建开启工具opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler)#构造报头headers = ('user-agent', thisUA)#安装报头opener.addheaders = [headers]#将opener设置为全局urllib.request.install_opener(opener)#以二进制形式爬取信息respense = urllib.request.urlopen(thisUrl)data = respense.read()respense.close()    #避免持续链接导致被发现是爬虫return datadef main():ip_pool = ['127.0.0.1:8888']v_id = '2369303789'     #要爬取的视频的id,这里我爬取的是斗罗大陆的c_id = '0'    #第一次评论的idnum = '10'  #每一页提取的评论数数目n = 1   #用来记录获取的评论总数fp = open('D:\\python\\new.txt', 'a+')for i in range(0, 10):try:# 网址格式:http://coral.qq.com/article/【视频id】/comment/v2?callback=_article2369303789commentv2&orinum=【一次提取的评论数目】&oriorder=o&pageflag=1&cursor=【下一个视频id】url = 'http://coral.qq.com/article/'+ v_id +'/comment/v2?callback=_article2369303789commentv2&orinum='+ num +'&oriorder=o&pageflag=1&cursor='+c_id#对获取的二进制数进行解码data = ua_ip(url, ip_pool).decode('utf-8', 'ignore')#构造获取下一页评论ip的正则表达式pat1 = '"last":"(.*?)"'c_ids = re.compile(pat1).findall(data)c_id = c_ids[0]     #c_ids是一个列表,获取他的第一个元素就是下一页评论id#构造获取评论内容的正则表达式pat2 = '"content":"(.*?)"'comment_list = re.compile(pat2).findall(data)for comment in comment_list:thisdata = "第"+str(n)+"个评论为:" + eval('u"' + comment + '"')print(thisdata)fp.write(thisdata + '\n')n += 1except urllib.error.HTTPError as e:if hasattr(e, 'code'):print(e.code)if hasattr(e, 'reason'):print(e.reason)except Exception as err:print(err)time.sleep(2)	# 每爬取一页,停顿2秒,减少频率,从而减少被发现的几率fp.close()if __name__ == '__main__':  main()

3.结果展示

在这里插入图片描述

这里是引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/44035.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谁说app的视频抓取不了的?用Python爬取整个app视频

前言 随着手app的发展逐渐强大,我们手机应用每天的生活也是非常的多。那我们怎么知道他的数据是怎么形成的,通过电脑端如何爬取。相信大家也有这样的问题。下面我将讲解这些操作流程。 一、操作流程 首先我们要有 fidder4夜神模拟器pycharmpython3.0…

python爬虫-电影数据抓取

1、进入此次爬取的页面点这里。 2、按F12—> network 3、ctrlr 刷新 如图搜索一个电影名,找到数据位置,然后查看 4、找到请求的url ‘?’后边的是参数,不要带上 5、参数单独拿出来 start:0 代表的是排行榜的第一…

python实战-HTML形式爬虫-批量爬取电影下载链接

文章目录 一、前言二、思路1、网站返回内容2、url分页结构3、子页面访问形式4、多种下载链接判断 三、具体代码的实现四、总结 一、前言 喜欢看片的小伙伴,肯定想打造属于自己的私人影院,在线观看的话会有很多限制,所以可以到专门下载电影的网…

超级简单的视频爬取

超级简单的网站视频爬取 一 在桌面新建文件夹 二 双击打开新建的文件夹,并将文件夹的路径删除,输入cmd 三 输入cmd命令后回车 四 在弹出的黑色命令提示窗口内输入:pip install you-get 然后回车 五 回车之后出现Successfully installed you-get-0.4.1555 后面的数字可以不一致…

python爬虫爬取网站视频

每个视频网站视频格式都不一样 今天主要说的是爬取.ts结尾的视频 1 打开视频网址 按F12 先不要播放 2 点击播放 查找Type是video的 可见v.f230.m3u8就是我们需要的视频ts包 接下来下载这个m3u8 数据是这样的 里面的v.f230开头的就是我们所需要的 点击每个段就会发现 请求…

超级简单的网站视频爬取

一 在桌面新建文件夹 二 双击打开新建的文件夹,并将文件夹的路径删除,输入cmd 三 输入cmd命令后回车 四 在弹出的黑色命令提示窗口内输入:pip install you-get 然后回车 五 回车之后出现Successfully installed you-get-0.4.1555 后面的数字可以不一致,代表安装的不同版本,只要…

python高阶爬虫---视频类内容爬取,内含详细教程和代码实例

目录 一、写在前面二、某站视频爬取三、某影院爬取 Author:qyan.li Date:2022.6.23 Topic:python爬虫获取视频类内容 一、写在前面 ​ ~~~~~~~~~~ 最近放暑假,闲来无事,爬点东西来玩。这学期由于课程需要,多次用爬虫的技术来获取数据&#…

Python-爬虫抓取视频

没什么可写的了 写点东西审核就不通过 来吧 直接看代码吧 准备: 首先确定视频地址: "http://video.dispatch.tc.qq.com/uwMROfz2r5zEIaQXGdGlX2dfJ6lgHJ4AOe6UhfWwqaorElWS/b3061yp5y1d.p701.1.mp4?vkeyCAA8CE5008F7EFE57C6375F331B807CEBF15…

爬虫实战 | 手把手教你批量爬取某站视频数据

↑↑↑关注后"星标"简说Python 人人都可以简单入门Python、爬虫、数据分析 简说Python推荐 来源:志斌的python笔记作者:志斌大家好,我是老表~ 这几天一直有小伙伴问B站上的视频数据是怎么获取的,今天就来给大家分享一下…

【python如何爬取视频】

该文章实验了如何利用Python进行爬取网络视频,看完该文章基本是可以下载出视频的,如有不足请多多包涵 1、爬虫需要使用到的Python库。 I、requests库II、re库III、 jsonVI、subprocess第一个库是用来进行网络请求的,通俗点理解就是拿来模拟你…

Python爬虫教你爬取视频信息

大家好,我是拉斯,今天分享一个爬取某音视频的一个小案例,大家一起学习 目录 前言基本环境配置爬取目标视频获取视频链接1.查看网页源代码2.抓包工具捕捉 下载视频(以mp4格式进行保存)获取其他信息并打印(作者名,作品名&#xff…

开放原子开源基金会发布《全球开源发展态势洞察》2022年第二期 | 总第二期

当前,开源驱动创新的能力日益显著,已成为经济社会新变革的赋能者。开源通过汇聚创新资源、构建信任环境,促进知识、智慧、技术、成果等的共享,加速创新要素的高效流动,促进全球技术创新成果的落地,已经成为…

chatgpt赋能python:Python加R:让数据科学更加高效

Python加R:让数据科学更加高效 在过去的几年里,Python和R成为数据科学领域中最受欢迎的编程语言。它们提供了丰富的库和工具,帮助从事数据分析和机器学习的人们更加高效地完成任务。然而,Python和R都有其各自的优缺点。 Python的…

微软提出MathPrompter,GPT3的数学推理水平直接干到人类水平

编|LRS 源|新智元 ChatGPT的文科脑有救了! 大型语言模型最为人诟病的缺点,除了一本正经地胡言乱语以外,估计就是「不会算数」了。比如一个需要多步推理的复杂数学问题,语言模型通常都无法给出正确答案&…

目标检测评价指标

1、检测精度指标 一、IoU交并比 IoU(交并比)1、IOU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率,即它们的交集和并…

数据结构03:栈、队列和数组

前言 参考用书:王道考研《2024年 数据结构考研复习指导》 参考用书配套视频:3.1.1_栈的基本概念_哔哩哔哩_bilibili 特别感谢:ChatGPT3.5老师,检查其它同学的作业是从代码里找BUG,检查我的作业是恰恰是相反的...&am…

chatgpt赋能python:Python怎么算数的总和

Python怎么算数的总和 Python是一种广泛使用的解释型编程语言,它可以用于各种应用程序的编写,包括数据分析、Web应用程序、机器学习等等。而在编写代码时,最基础的一步,就是算数计算。本文将介绍如何使用Python实现算数计算的总和…

GitHub和Git使用教程

转载自http://blog.csdn.net/javaandroid730/article/details/53522872 GitHub和Git入门 考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法。 GitHub的简单使用 第一步 创建GitHub账号 1. 打开GitHub官网。…

CSDN 个性化推荐的数据治理

目录 1. 背景2. 数据治理2.1 从内容层面提升数据质量2.2 从用户层面提升数据质量2.3 增加特定数据的曝光2.4 保证数据的正确性与实效性 3. 总结 相关阅读 CSDN 个性化推荐系统的设计和演进如何支持研发对CSDN个性化推荐系统重构 1. 背景 CSDN 的个性化推荐流在主站中是一个很…

解决多御浏览器问题的5大干货,看这一篇就够了

浏览器是我们频繁使用的软件之一,在使用浏览器的过程中,我们总会遇到各种各样的问题。小编这就为大家总结了一篇多御浏览器遇到问题的解决干货,这篇文章可以为大家解决多数问题,下面小编就来简单的说一说。 1、怎么对多御浏览器设…