Python爬虫何如抓包?这三个案例手把手教会你,非常详细...

某牙直播抓包

首先咱们进入目标网页,随便找一个视频,通过开发者工具抓包分析。

首先按F12或者点击右键选择检查,打开开发者工具,依次选择 network(网络面板) → AII (全部)

然后刷新网页,让当前网页内容重新加载出来。

以前是可以直接选择 media (媒体文件)就能看到了,现在不行了,所以说,互联网更新迭代很快,网站经常更新,技术也需要时刻准备更新,我们也是学习不能停,一停就落伍。

在这里插入图片描述

但是刷新后的数据太多,我们如何确定哪一条是咱们的目标呢?

以当前某牙为例, 视频改成了m3u8格式,它会把完整视频分成很多个视频片段,这些ts文件都是m3u8格式视频片段。

在这里插入图片描述

我们把URL复制到新窗口打开,它就直接把片段下载下来了。

在这里插入图片描述

我们完整的视频是2.26分,但是每一个片段只有几秒钟。

在这里插入图片描述

那么计算一下,平均一个五秒,2.26分差不多要17个视频,还得自己手动合并,多麻烦。

但是它有一个专门的m3u8格式的文件,保存了所有的ts文件内容。

我们直接点击左上角搜索框,直接搜索 m3u8 ,然后看到一个get开头的文件,点击它,再点击preview (预览数据) ,视频的标题等信息都可以看到。

找到这个 definitions 展开 ,m3u8的视频就在里面了,原画、超清、流畅。

可以看到,它也有完整的url地址在这,可以直接用。

我都注释一下吧

这是直播视频的数据查找方式

接下来看看微博视频

某博抓包

第一步详细介绍,后面就不做太多截图一一展示了,只展示大概流程了,所以如果忘了,建议多看看第一步的,当然,两个网站之间不一样的地方,我都会一一截图展示。

确定目标网址,打开一个视频播放页面。

按F12 打开开发者工具,点击network 点击Aii ,刷新网页。

然后此时发生了一件愉快的事情😂

刷新一下视频不见了,于是我又去搜博主名字

在这里插入图片描述

啊这 😲

我太南了,算了 ,换一个吧…

编辑推荐的每一个都很给力,我先用第四个给你们展示吧,展示完,我再都去看一遍😏

好了,咱们言归正传。

对于绝大部分网站来说,他的第一个数据包就是当前网页。除了一少部分特殊网址不一样。

今天的目标它的视频不一定在第一个网页源代码中,即使复制了url能进入,也还是不一定在。

因为有一些数据,它是会动态加载的,或者说不在同一个数据包里面。

第二种方法,我们把当前目标的标题复制到搜索框,然后回车,当然,也有可能搜不到。

第三种方法,我们直接点击 fetch/XHR 动态数据抓包,这里面是实时加载的。

我真的会谢,视频又没了…

算了,我再找新的吧。

我们可以看到,左边有那么多数据,那么谁才是我们需要的呢?

这时候需要我们一个个点,一般是这两个,有时候也不一定,所以需要一个个点。

然后点击右边的倒三角,一一展开,往下拉,找到这个urls,就可以看到视频地址了,各个清晰度的都有。

然后视频的ID 、标题等等都在这里。

为什么说要一个个点,你看这两个长得一样的, 我刚刚点的是第一个,现在看看第二个。

这里面都是右边推荐栏的封面,标题,视频id等等。

===

某手短视频抓包

接下来来到某手,这次咱们正经一点,找个正经的视频来示范。

emmm … 这个正经多了,我们直接进入主页。

还是一样的操作,打开开发者工具,点开network,刷新,选择AII 。

这次咱们直接复制这个小姐姐的名字搜索

搜索之后,这里有两个一样的选项,咱们需要一个个点击打开看看,确定哪一个是咱们需要的。

一个是博主的ID简介等等,另外一个就是视频的数据了。

这里我直接点第一个graphql → preview 总共是21个视频,可以看到,下图最下方的protourl就是视频的url,photoH265Url 则是音频url 。

为什么只有21个?因为没加载出来,刷新后默认只给你加载那么多,所以爬的时候,可以用selenium自动翻页,就能自己加载了。

我整理了Python爬虫的学习资料,拿出来和大家分享,有需要的朋友可以扫描下方二维码进行领取哦
在这里插入图片描述

一、学习大纲

在这里插入图片描述

二、开发工具

在这里插入图片描述

三、Python基础资料

在这里插入图片描述

四、实战资料

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫是指使用Python编写程序来模拟浏览器发送请求,并获取返回的数据和信息。通过可以获取网页的内容、图片、视频等资源,以及网页的响应状态码、头部信息等。 要实现Python爬虫,可以使用以下步骤: 1. 安装requests库:使用pip工具安装requests库,该库是Python中用于发送HTTP请求的常用库。 2. 导入requests库:在Python程序中导入requests库,以便使用其中的功能。 3. 发送HTTP请求:使用requests库中的get()方法来发送GET请求。通过传入目标网页的URL作为参数,可以向目标网站发送请求,并获取返回的响应对象。 4. 获取响应内容:通过访问响应对象的text属性,可以获取到网页的HTML内容。如果需要获取其他类型的资源,可以使用响应对象的content属性。 5. 解析网页内容:如果需要从网页中提取特定的信息,可以使用相关的解析库,如BeautifulSoup、lxml等。这些库可以帮助我们解析网页的HTML结构,从中提取出需要的数据。 6. 设置请求头:为了模拟浏览器的行为,可以设置请求头中的关键内容,如User-Agent、Cookie等。这样可以使得请求更像是来自于浏览器,提高爬取数据的成功率。 综上所述,可以使用Python中的requests库来发送HTTP请求,并通过解析网页内容来实现爬虫的功能。在编写代码时,可以参考使用json.dumps()函数将字典转化为JSON格式,以及使用urllib.parse模块中的urlencode函数来进行URL编码的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值