Pyqt5写带GUI的抖音无水印下载程序
最近开始学习用Pyqt写GUI论坛有前辈发了一份抖音去水印的教程
修改了部分代码,利用Pyqt加了个界面打包成exe程序。
成品蓝奏云链接:**** Hidden Message *****
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'g:\2019_PYTHON\QJBM8\NEW\main.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.Do not edit this file unless you know what you are doing.
import sys
import re
import requests
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget,QMessageBox
class Ui_MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(Ui_MainWindow,self).__init__()
self.setupUi(self)
self.retranslateUi(self)
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(500, 162)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(410, 60, 75, 31))
self.pushButton.setObjectName("pushButton")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(10, 25, 81, 31))
self.label.setObjectName("标签")
self.label1 = QtWidgets.QLabel(self.centralwidget)
self.label1.setGeometry(QtCore.QRect(380, 2, 160, 30))
self.label1.setObjectName("BY")
self.label2 = QtWidgets.QLabel(self.centralwidget)
self.label2.setGeometry(QtCore.QRect(10, 115, 440, 30))
self.label2.setObjectName("说明")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(30, 60, 361, 31))
self.lineEdit.setObjectName("lineEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "抖音无水印下载"))
self.pushButton.setText(_translate("MainWindow", "下载"))
self.label.setText(_translate("MainWindow", "短视频链接:"))
self.label1.setText(_translate("MainWindow", "大牛破解小心boss"))
self.label2.setText(_translate("MainWindow", "说明: 复制短视频的分享链接到输入框后点击下载,视频保存在程序执行目录下"))
def Button_Click(self):
if self.lineEdit.text() == '' :
QMessageBox.information(self,
'提示:',
'请检查分享链接是否正确' )
else:
sender = self.sender()
url = self.lineEdit.text()
down(url)
def down(url):
headers = {
'User-Agent': 'User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 Version/12.0 Safari/604.1',
}
url = re.findall(r'http(.*)/',url)
url = 'http' + url
title = url.split('/')[-1]
response = requests.get(url, headers=headers)
now_url = response.url
pat_item_ids = '/video/(.*?)/'
item_ids = re.compile(pat_item_ids, re.S).findall(now_url)
pat_dytk = 'dytk: "(.*?)"'
dytk = re.compile(pat_dytk, re.S).findall(response.text)
url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/'
params = {
'item_ids': item_ids,
'dytk': dytk
}
response = requests.get(url, headers=headers, params=params).json()
true_url = response['item_list']['video']['play_addr']['url_list']
true_url = true_url.replace('playwm','play')
response = requests.get(true_url, headers=headers)
# true_url = response.url
# print(true_url)
with open( str(title) + '.MP4', 'wb+')as t:
t.write(response.content)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Ui_MainWindow()
ex.show()
ex.pushButton.pressed.connect(ex.Button_Click)
sys.exit(app.exec_())
6666 感谢楼主分享 谢谢大牛 谢谢分享 6666666666 这个可以用来吸引流浪啊
谢谢大佬
页:
[1]