最新视频连接解析地址

简介: 最新视频连接解析地址

这里用一个开篇进行处理:

如果HTML一直返回JavaScript怎么办?

在网上都是各种使用谷歌的模拟器进行处理,但都不是我想要的。

所以我就找啊找找啊找,然后就找到了。

下面是我在2个小时内找到的方法,挨个测试出来的。

不容易,是否应该关注三连一下呢?

但是前面需要用一些词语盖过去。

先说一下打包的参数吧:

pyinstaller常用参数

-F 只在dist中产生一个exe文件。

-w 只对windows有效,不使用控制台。

-D 默认选项,除了exe外,还会在在dist中生成很多依赖文件,推荐使用。

-i设置好看的ico格式的图标,加上该参数,指定图标路径。

-p 设置导入路径

打包:

pyinstaller -F -w -p C:\Users\qwe84\AppData\Local\Programs\Python\Python39\Lib -i D:\save\study\python\pythonProject\python.ico GetDownRain.py -n "视频下载器"

测试用的:

import requests
import re
import os
oldUrl = "URL"
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
}
short_url = re.findall('(http[|s]?://[^\s]*/)', oldUrl)[0]
url = requests.get(url=short_url, headers=headers).url
item_id = url.split('/')[5][0:19]
url = "https://www.iesdouyin.com/aweme/v1/web/aweme/detail/?aweme_id={0}".format(item_id)
html = requests.get(url, headers=headers)
title = html.json()['aweme_detail']['desc']
video_url = html.json()['aweme_detail']['video']['bit_rate'][0]['play_addr']['url_list'][0]
mp4 = requests.get(video_url, headers=headers).content
saveUrl = r"{0}.mp4".format(title)
file = open(saveUrl, "wb+")
file.write(mp4)
file.close()

打包用的:

import requests
import re
import os
from tkinter import *
import tkinter.messagebox as messagebox
root = Tk()
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
dialog_width = 800
dialog_height = 100
# 前两个参数是窗口的大小,后面两个参数是窗口的位置
root.geometry(
    "%dx%d+%d+%d" % (dialog_width, dialog_height, (screenwidth - dialog_width) / 2, (screenheight - dialog_height) / 2))
root.title("(红目香薰提供):")
Label(root, text='url:').grid(row=0, column=0)
e = Entry(root, width=90)
e.grid(row=0, column=3, padx=10, pady=5)
root.resizable(height=False, width=False)
def show():
    try:
        oldUrl = e.get()
        headers = {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
        }
        short_url = re.findall('(http[|s]?://[^\s]*/)', oldUrl)[0]
        url = requests.get(url=short_url, headers=headers).url
        item_id = url.split('/')[5][0:19]
        url = "https://www.iesdouyin.com/aweme/v1/web/aweme/detail/?aweme_id={0}".format(item_id)
        html = requests.get(url, headers=headers)
        title = html.json()['aweme_detail']['desc']
        video_url = html.json()['aweme_detail']['video']['bit_rate'][0]['play_addr']['url_list'][0]
        mp4 = requests.get(video_url, headers=headers).content
        # 开始下载
        saveUrl = r"{0}.mp4".format(title)
        file = open(saveUrl, "wb+")
        file.write(mp4)
        file.close()
        os.system("explorer .")
        messagebox.showinfo("提示", "{0}下载完毕!".format(title))
    except:
        messagebox.showinfo("提示", "错误路径")
Button(root, text='下载视频', width=10, command=show) \
    .grid(row=3, column=0, sticky=W, padx=10, pady=5)
mainloop()
相关文章
|
1月前
|
机器学习/深度学习 人工智能 编解码
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
【2月更文挑战第24天】哲学家解析Sora本质,AI视频离世界模拟器还有多远?
23 2
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
|
1天前
|
数据采集 开发者 Python
使用urllib和BeautifulSoup解析网页中的视频链接
使用urllib和BeautifulSoup解析网页中的视频链接
|
22天前
|
存储 编解码 算法
【解码与渲染 异常情况】深入解析视频中绿色竖线现象(二)
【解码与渲染 异常情况】深入解析视频中绿色竖线现象
38 1
|
28天前
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
54 0
|
1月前
|
关系型数据库 MySQL 分布式数据库
PolarDB for MySQL数据库外网连接解析失败的原因可能有以下几点
【2月更文挑战第16天】PolarDB for MySQL数据库外网连接解析失败的原因可能有以下几点
23 1
|
1月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
98 2
|
2月前
|
关系型数据库 MySQL 分布式数据库
PolarDB for MySQL数据库外网连接解析失败的原因
【2月更文挑战第5天】PolarDB for MySQL数据库外网连接解析失败的原因
63 8
|
2月前
|
域名解析 弹性计算 网络协议
DNS服务器问题之翻译为 TCP/IP 地址如何解决
DNS服务器是负责将域名转换为IP地址的服务,它是互联网上实现域名解析的关键基础设施;本合集将探讨DNS服务器的工作原理、配置方法和常见问题处理,帮助用户理解和优化DNS服务的使用。
36 7
|
14天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
47 1
|
29天前
|
Python
区域代理分红商城系统开发源码片段示例规则解析
level = Column(Integer, default=1) # 代理等级,例如:1代表普通用户,2代表初级代理,3代表高级代理等 parent_id = Column(Integer, ForeignKey('user.id')) # 上级代理ID 【更全面的开发源码搭建可V or TG我昵称】 parent = relationship("User", remote_side=[id]) # 上级代理对象

推荐镜像

更多