这里用一个开篇进行处理:
如果HTML一直返回JavaScript怎么办?
在网上都是各种使用谷歌的模拟器进行处理,但都不是我想要的。
所以我就找啊找找啊找,然后就找到了。
下面是我在2个小时内找到的方法,挨个测试出来的。
不容易,是否应该关注三连一下呢?
但是前面需要用一些词语盖过去。
先说一下打包的参数吧:
pyinstaller常用参数
-F 只在dist中产生一个exe文件。 -w 只对windows有效,不使用控制台。 -D 默认选项,除了exe外,还会在在dist中生成很多依赖文件,推荐使用。 -i设置好看的ico格式的图标,加上该参数,指定图标路径。 -p 设置导入路径
打包:
pyinstaller -F -w -p C:Usersqwe84AppDataLocalProgramsPythonPython39Lib -i D:savestudypythonpythonProjectpython.ico GetDownRain.py -n "视频下载器"
测试用的:
代码语言:javascript复制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()
打包用的:
代码语言:javascript复制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()