腾讯、优酷、爱奇艺视频取列表
找了下腾讯、优酷、爱奇艺视频接口,先弄个批量取列表出来,方便以后视频批量下载import requests
import re
class get_list:
def __init__(self,url):
self.url = url
self.type = ''
def judge_type(self):
if 'v.qq.com' in self.url:
self.type = 'qq'
elif 'iqiyi.com' in self.url:
self.type = 'iqiyi'
elif 'v.youku.com' in self.url:
self.type = 'youku'
def run(self):
self.judge_type()
if self.type == 'qq':
return self.qq()
elif self.type == 'iqiyi':
return self.iqiyi()
elif self.type == 'youku':
return self.youku()
def qq(self):
def single(vid):
single_title = f'https://vv.video.qq.com/getinfo?otype=ojson&vid={vid}'
response2 = requests.get(single_title).json()# vl.vi.ti
title = response2['vl']['vi']['ti']
return title
cid = re.findall('cover/(.+?).html', self.url).split('/')
multi_title = f'http://data.video.qq.com/fcgi-bin/data?tid=431&idlist={cid}&appid=10001005&appkey=0d1a9ddd94de871b'
response = requests.get(multi_title).text
vids = re.findall('<video_ids>(.+?)</video_ids>', response)
result = []
for vid in vids:
link = f'https://v.qq.com/x/cover/{cid}/{vid}.html'
title = single(vid)
info = {
'url': link,
'title': title
}
result.append(info)
return result
def iqiyi(self):
def single(url):
res = requests.get(url).text
try:
tvid = re.findall('"tvid":(\d+)', res)
except:
tvid = re.findall('"tvId":(\d+)', res)
aid = re.findall('"albumId":(\d+)',res)
print(aid)
infourl = f'http://mixer.video.iqiyi.com/mixin/videos/{tvid}'
# https://pcw-api.iqiyi.com/video/video/playervideoinfo?tvid=8634212373749900
response = requests.get(infourl).json()
title = response['name']
return title
res = requests.get(self.url).text
aid = re.findall('"albumId":(\d+)', res)
parse_url = f'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid={aid}&page=1&size=200'
response = requests.get(parse_url).json()
Page = int(response['data']['page'])
result = []
for page in range(1,Page+1):
parse_url = f'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid={aid}&page={page}&size=200'
response = requests.get(parse_url).json()
epsodelists = response['data']['epsodelist']
for epsodelist in epsodelists:
tvId = epsodelist['tvId']
title = epsodelist['name']
playUrl = epsodelist['playUrl']
info = {
'url': playUrl,
'title': title
}
result.append(info)
return result
def youku(self):
def single(url):
vid = re.findall('id_(.+?).html',url)
parse_url = f'https://ups.youku.com/ups/get.json?vid={vid}&ccode=0532&client_ip=192.168.1.1&client_ts=1652685&utid=zugIG23ivx8CARuB3b823VC%2B'
response = requests.get(parse_url).json()
title = response['data']['video']['title']
return title
return single(self.url)
result = get_list(url='https://www.iqiyi.com/v_1pcnxhbip7s.html').run()
print(result)
谢谢分享 先收藏了,万一用到呢 谢谢@Thanks! 谢谢大佬分享
感谢楼主的分享 顶帖是一种态度,也是一种尊重。 感谢楼主分享!大牛有你更精彩! 感谢楼主分享!大牛有你更精彩!{:7_169:} 6666666666
页:
[1]