本帖最后由 huanye 于 2020-6-6 16:28 编辑
前言
最近这些日子闲得无聊 便想看动漫《进击的巨人》,然而找了各大网站上的资源,个个网站都不是很清晰(有些还是繁体字看不惯)
然后好兄弟就发给我这些,我便一个一个去试,发现一个app为唧唧的画质还可,不过缺点就是我都有电脑,还用小屏幕看?看不惯手机小屏幕
于是就像通过抓包把视频链接搞来,下载到本地
探索
然后我用黄鸟(httpcanary)抓包一下
发现并没有防抓包,轻而易举就抓到了数据(视频链接之类的)然后我就打开了FD(fiddler电脑软件),进行抓包
ps:不要问我为什么用FD,因为看数据比较方便
然后获取到了3个接口:
1.搜索接口:http://appapi.lvup.com.cn/jijiapp/search post提交参数:"key"就是搜索名字 "usertoken"这个是账户的,直接填no就ok了
2.番剧信息接口:http://appapi.lvup.com.cn/jijiapp/anime_data post提交参数:"av"就是前面搜索接口会得出每部番的av号 "usertoken"这个是账户的,直接填no就ok了
3.番剧视频接口:https://api.clicli.co/jijiapp/video_play_data post提交参数:"id"就是前面搜索接口会得出每部番的av号 "num"这个是集,第几集的视频链接 "usertoken"这个是账户的,直接填no就ok了
PS:有些仓促 语言组织不够好 不过自己亲手试一下应该可以轻轻松松理解了
代码
代码得配合idm食用,因为如果用python下载有亿点点慢,所以配合idm食用更香,不过缺点就是下载后的视频名字是乱码
不过我也解决了这个问题,就是用os.rename函数修改文件名字
代码:
[Python] 纯文本查看 复制代码 import requests,json,re,os,win32con,win32clipboard
def set_text(string):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, string)
win32clipboard.CloseClipboard()
print("已经复制到剪切板")
def searech(name):
url='http://appapi.lvup.com.cn/jijiapp/search'
post={"key":name,"usertoken":"no"}
json=requests.post(url,data=post).json()['video']
fan={}
k=0
print("%s番剧列表%s"%('-'*30,'-'*30))
for i in json:
print("[%s]:%s"%(k,i['name']))
fans={k:{'name':i['name'],'av':i['av']}}
fan.update(fans)
k=k+1
print("%s番剧列表%s"%('-'*30,'-'*30))
return(fan)
def find(av):
url='http://appapi.lvup.com.cn/jijiapp/anime_data'
post={"av":av,"usertoken":"no"}
json=requests.post(url,data=post).json()
num=len(json['epi'])
print("%s番剧参数%s"%('-'*30,'-'*30))
print("内容:%s\n集数:%s集"%(json['data']['sign'],num))
print("%s番剧参数%s"%('-'*30,'-'*30))
return(num)
def findnum(av,num):
k=1
all=''
print("%s番剧集链接%s"%('-'*30,'-'*30))
for i in range(int(num)):
data={"id":av,"num":k,"usertoken":"no"}
url='https://api.clicli.co/jijiapp/video_play_data'
u=requests.post(url,data=data)
u=u.json()
mp4=u['src']
print(mp4)
all=all+mp4+"\n"
k=k+1
print("%s番剧集链接%s"%('-'*30,'-'*30))
set_text(all.strip())
return(all)
def renum(data):
dir=input('输入视频下载的路径:').replace("\\",'//')+'//'
nums=re.sub('http(.*)/','',data).strip()+'\n'
fan=re.findall('(.*?)\n',nums)
num=1
for i in fan:
os.rename(dir+i,dir+"第%s话.mp4"%num)
num=num+1
print("%s大功告成%s"%('-'*30,'-'*30))
while True:
print('''欢迎使用幻夜番剧下载助手
1.下载番剧
2.退出程序''')
x=input('请输入序号进行操作:')
if x=='1':
name=input('请输入番剧名称:')
fan=searech(name)
if fan=={}:
print('无此番剧')
continue
xx=input('请输入番剧序号:')
av=fan[int(xx)]['av']
num=find(fan[int(xx)]['av'])
y=input("是否获取链接?(y/n):")
if y=='n':
continue
all=findnum(av,num)
y=input("是否修改文件名称?(y/n):")
if y=='n':
continue
renum(all)
if x=='2':
break
注意修改文件名的时候用的是
比如:D:\番剧\缘之空 这个 注意:后面不用加/或\
最后奉上app:https://lanzouj.com/iFLwOdea8pa |