大家沉迷短视频无法自拔?Python爬虫进阶,带你玩转短视频

本文讲述了在爬虫过程中解析动态网页数据,包括如何通过逆向分析加密的JS代码找到视频播放地址,以及如何将JS代码转换为Python实现解码。作者分享了实用的函数如replace(),parseInt(),base64.atob()等技巧。
摘要由CSDN通过智能技术生成

重点学习内容


爬虫采集数据的解析过程

js代码调试技巧

js逆向解析代码

Python代码的转换

项目思路解析


进入到网站的首页

挑选你感兴趣的分类

根据首页地址获取到进入详情页面的超链接的跳转地址

在这里插入图片描述

找到对应加密的视频播放地址数据

在这里插入图片描述

这个数据是静态的网页数据,通过js代码进行解码的

找到对应的解析代码

先找到视频的播放地址

找到解析视频地址的加密js文件

点击播放的时候会触发文件

在这里插入图片描述

大致能看出来这个是base64加密之后的数据

在对应的js文件里搜索关键字

找到js的加密方式

在这里插入图片描述

js函数的一些函数的用法

eplace()方法用于在字符串中用一些字符替换另一些字符

parseInt 数据转换成对应的整型

base64.atob 对base64编码过的字符串进行解码

substring 方法可在字符串中抽取从 start 下标开始的指定数目的字符

在这里插入图片描述

将js代码转换成Python代码

import base64

def decode(data):

def getHex(a):

return {

‘str’: a[4:],

‘hex’: ‘’.join(list(a[:4])[::-1]),

}

def getDec(a):

b = str(int(a, 16))

return {

‘pre’: list(b[:2]),

‘tail’: list(b[2:]),

}

def substr(a, b):

c = a[0: int(b[0])]

d = a[int(b[0]): int(b[0]) + int(b[1])]

return c + a[int(b[0]):].replace(d, “”)

def getPos(a, b):

b[0] = len(a) - int(b[0]) - int(b[1])

return b

b = getHex(data)

c = getDec(b[‘hex’])

d = substr(b[‘str’], c[‘pre’])

return base64.b64decode(substr(d, getPos(d, c[‘tail’])))

print(decode(“e121Ly9tBrI84RdnZpZGVvMTAubWVpdHVkYXRhLmNvbS82MGJjZDcwNTE3NGZieXBueG5udnRwMTA5N19IMjY0XzFfNWY3YThmM2U0MTEwNy5tc2JVjAu3EDQ=”))

得出最终视频播放地址

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-CF2P0ILb-1710904083696)]

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值