皮皮虾视频抓包去水印教程原理

这个教程是我之前看了论坛一位分析ios抖音无水印教程试着按照他的思路来做的,所以还是要先谢谢大佬的思路,不然我也写不出来

具体地址忘了在哪里看的了

我觉得大家如果点进来了大多数都是会配置手机端抓包和使用的,废话我就不多说了。

首先打开手机上的皮皮虾APP 随便找一个视频

皮皮虾视频抓包去水印教程原理
皮皮虾视频抓包去水印教程原理

这时候我们放到浏览器打开 我这个复制的短链是https://h5.pipix.com/s/Ceo5vU/

在浏览器打开的同时去看电脑上FD的请求:我红色箭头标出的地方可以看出在浏览器打开以后跳转的是一个长地址,同时我们找到这个链接发现response是一个302也就是重定向

在重定向的headers里面都是有一个location的用来指示他要跳转的地址是哪里

皮皮虾视频抓包去水印教程原理

接着我们再去找一些有关json结构的返回信息,同样在这个请求里面我们发现在json信息处会找到有关视频的介绍 描述 一些水印图片地址 【皮皮虾好像也是和抖音一个公司的吧 他们家套路基本就是这样】皮皮虾视频抓包去水印教程原理

这个地址https://h5.pipix.com/bds/webapi/item/detail/?item_id=6740623460659108107&source=share 后面携带的参数可以看到是一个视频id,而这个id可以在重定向的url里面用正则或者其他方法匹配出来,携带上去发送请求就可以得到json信息了,后面的source可以不携带。

由于里面json信息结构很简单就不做阐述,之前大佬那个抖音如果获取了视频地址没有带上手机端的UA视频链接会播放不了,所以这里建议大家都携带一个手机UA去访问/下载皮皮虾视频抓包去水印教程原理

最后贴一下代码吧,方便大家直观分析一下,代码写的垃圾,还请不要嫌弃

#coding:utf-8
import requests,os,json,re,sys
class PipiXiaMarkDelectMain:
    def __init__(self):
        self.Match_ShareLink_Rule = "h5.pipix.com"
        self.Match_ShareId_Rule = r"item/[0-9]+"
        self.Headers = {"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1"}
        self.DetailPipiApi = "https://h5.pipix.com/bds/webapi/item/detail"
        self.VideoPath = "PiPiXiaVideoDelectMarkFloder"
        IsVideoPath_In = os.path.exists(self.VideoPath)
        if IsVideoPath_In == False:
            os.mkdir(self.VideoPath)
    def GetPipiXiaRedirectsLink(self,CopyLink):
        LinkStr = CopyLink
        IsPiHost = re.search(self.Match_ShareLink_Rule,LinkStr)
        Pi_Session = requests.session()
        if IsPiHost != None:
            Redirect_Pi_Url = requests.get(LinkStr,headers=self.Headers,allow_redirects=False).headers["Location"]
            ShareId = re.findall(self.Match_ShareId_Rule,Redirect_Pi_Url)[0].replace("item/","")
            GetJsonParams = {"item_id":ShareId}
            ResponeUnicode = Pi_Session.get(self.DetailPipiApi,params=GetJsonParams,headers=self.Headers).text
            ResponeDict = json.loads(ResponeUnicode)
            VideoWithOutMark_Link = ResponeDict["data"]["item"]["video"]["video_fallback"]["url_list"][1]["url"]
            VideoDescriPtion = ResponeDict["data"]["item"]["comments"][0]["item"]["content"]
            if VideoDescriPtion == "":
                VideoDescriPtion = ShareId
            VideoInfoList = [VideoWithOutMark_Link,VideoDescriPtion]
            return VideoInfoList
        else:
            print("请输入合法链接")
            sys.exit(0)
    def DownPiPiXiaVideo(self):
        LinkStr = input("请输入皮皮虾链接:")
        VideoInfo = self.GetPipiXiaRedirectsLink(LinkStr)
        VideoName = VideoInfo[1]
        VideoLinkUrl = VideoInfo[0]
        VideoByteStream = requests.get(VideoLinkUrl,headers=self.Headers).content
        VideoFileName = self.VideoPath + "\\" + VideoName + ".mp4"
        with open(VideoFileName,"wb") as VideoFile:
            VideoFile.write(VideoByteStream)
        print("下载完成")
while 1:    
    X = PipiXiaMarkDelectMain()
    X.DownPiPiXiaVideo()

如果你对这方面有兴趣,可以入群交流

<?php
621400207
?>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值