代码碎片记录

来源:互联网 发布:scrypt挖矿软件 编辑:程序博客网 时间:2024/06/05 17:47
print('--------talkShowCNParse')self.talkShowCNParse(QUrl(sourceUrl).adjusted(QUrl.RemoveQuery).toString())



    @pyqtSlot()    def talkShowCNParse(self, url):        if url not in self.sourceUrl2DownloadItem.keys():            self.parseProgress.show()            self.trayIcon.showMessage('正在获取视频下载链接', '')        data = 'w#5A*q/}x% e5fe8bf6' + ' {} {}'.format(QDateTime.currentDateTime().toString('yyyy-MM-dd hh:mm'), url)        h = str(QCryptographicHash.hash(bytes(data, 'utf8'), QCryptographicHash.Md5).toHex(), 'utf8')#         if 'iqiyi.com' in url:#             queryUrl = 'http://www.apifree.net/iqiyi.jsp?id=apifree&{}&single='.format(urllib.parse.urlencode({'url' :url }))#             #'http://www.apifree.net/iqiyi.jsp?id=apifree&{}&single='.format(urllib.parse.urlencode({'url' :url }))#         else :        queryUrl = 'http://talkshowcn.sinaapp.com/api/play.php?user=63&verify={}&format=json&{}'.format(h, urllib.parse.urlencode({'url': url}))# 解析内核切换#         queryUrl = 'http://114.215.156.204:5678/parse?user=iMath&verify={}&format=json&{}'.format(h,urllib.parse.urlencode({'url' :url }))#         queryUrl = 'http://123.57.189.110:3032/api/play.php?token=e5fe8bf6aaf6b5e728aff2660b509b75&format=json&{}'.format(urllib.parse.urlencode({'url' :url }))        # 用token        # if '56.com' in url:        #     queryUrl = 'http://talkshowcn.duapp.com/api/play.php?token=e5fe8bf6aaf6b5e728aff2660b509b75&format=json&url=' + url        # else :        #     queryUrl = 'http://talkshowcn.sinaapp.com/api/play.php?token=e5fe8bf6aaf6b5e728aff2660b509b75&format=json&url=' + url        request = QNetworkRequest(QUrl(queryUrl))        request.setRawHeader(b'User-Agent', bytes(userAgent, 'utf8'))        request.setRawHeader(b"referer", bytes(url, 'utf8'))        reply = self.manager.get(request)        reply.finished.connect(self.getWebPageSRC)    def processTalkShowCNResult(self, pageSrc, sourceUrl):        # 加入正在解析的,同时也加入KMUST下不断重试解析的,避免反复提示网络问题print('reply.error()--------------',reply.error())#KMUST下,这里结果同样是0        # print('-processTalkShowCNResult----------pageSrc',pageSrc)        if "success" not in pageSrc:  # prevent KMUST下            print(''' "success" not in pageSrc----- talk---failed----ezvideoParse-begin --''', sourceUrl)            self.parseProgress.hide()            self.trayIcon.showMessage('不支持该页面', '可以再试一次或者向群主报告这个问题\n【点击本消息】即可加入QQ群272830154\n{}'.format(sourceUrl))            return        content = json.loads(pageSrc)  # 只有"success"在里面了,才能json.loads        # print('content------------',content)        if content["success"] == False:            print(''' talk----content["success"]==False''')            self.parseProgress.hide()            self.trayIcon.showMessage('不支持该页面', '可以再试一次或者向群主报告这个问题\n【点击本消息】即可加入QQ群272830154\n{}'.format(sourceUrl))            return        try:            qualities = content["result"]            videoQualityDict = {}            for quality in qualities:                if quality["format"] != "m3u8":                    videoQualityDict[quality["quality"].split('_')[1]] = quality["files"]            # print('videoQualityDict-------------------', videoQualityDict)            netFilesInfo = videoQualityDict.get('超清') or videoQualityDict.get('高清') or videoQualityDict.get('1080P') or videoQualityDict.get('720P')or videoQualityDict.get('标清') or videoQualityDict.get('低清') or videoQualityDict.popitem()  # 从高清到低清晰的顺序            # print('netFilesInfo-------------------', netFilesInfo)            videoUrls = []            for fileInfo in netFilesInfo:                videoUrls.append(fileInfo["url"])            downloadInfo = (content["source"]["title"] + '.' + fileInfo["type"], videoUrls)        except Exception:  # 可能会有keyerro he typeerror            print(''' talk----keyerro''')            self.parseProgress.hide()            self.trayIcon.showMessage('不支持该页面', '可以再试一次或者向群主报告这个问题\n【点击本消息】即可加入QQ群272830154\n{}'.format(sourceUrl))        else:            # print('--------downloadInfo--------------',downloadInfo)            self.prepareProcessing(downloadInfo, sourceUrl)


0 0