本文主要是介绍B04.有意思的小东西 - 交封不杀(下载X站封面)[python],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开篇瞎扯
福利又来了,我真是为B站粉丝们操碎了心,哈哈哈(主要也是好玩)
首先声明,我只做技术交流,切勿用作商业用途,否则以后等着B站找你,吃官司吧。
争做一个 学法、知法、懂法、守法 的好公民。
同样的内容,我到时候录视频,就叫:B04.有意思的小东西 - 怎么download我的picture
Fiddler大显神通
注:如果你只想用这个软件的话,这不需要看,直接会运行python程序就可。后面有代码。
分析网络数据,首先需要抓包,请看 Fiddler的使用 。
先把Fiddler用好了,再看这个。
1,我们想下载 B01.有意思的小东西 - pdf转word【python实用工具】https://www.bilibili.com/video/av78175545 的封面。
首先需要它的av号,或者url网址。
2,打开网页,打开Fiddler,刷新网页,抓包,停止抓包,得到数据。
3,Ctrl+F 搜索 https://api.bilibili.com/x/web-interface/view
。
双击打开,并查看右下角内容。如图:
滚轮翻动内容,如果发现有标题为 B01.有意思的小东西 - pdf转word【python实用工具】,则说明找对了地方。
4,找到目标,得到下载地址。
pic=http://i0.hdslb.com/bfs/archive/88368f9b03030a6f86d1a2e9ff1e8a2a7d5ff3ea.jpg
它的value就是待下载的链接。
你可以点开试一下:http://i0.hdslb.com/bfs/archive/88368f9b03030a6f86d1a2e9ff1e8a2a7d5ff3ea.jpg
写python代码
上面是一个分析过程,我们想写一个python代码,使之能自动化处理。
#python3
import json
import requests#获取xlixli的封面图片def getPictureURL(url):#设置头headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36','Referer': 'https://www.bilibili.com'}# get请求response = requests.get(url, headers=headers)# 解析成json数据content = json.loads(response.text)# print(content)statue_code = content.get('code')if statue_code == 0:return content.get('data').get('pic')else:print('该AV号不存在')return -1def downloadPicture(download_url, save_path):img_r = requests.get(download_url)with open(save_path, 'wb') as f:f.write(img_r.content)print("下载完成!")def main(av, save_path="封面图片.jpg"):av_url = "https://api.bilibili.com/x/web-interface/view?aid={}".format(av)download_url = getPictureURL(av_url)downloadPicture(download_url, save_path)if __name__ == "__main__":av = input("请输入AV号(如78175545):")main(av)
成功
一个大坑
get的url是https://api.bilibili.com/x/web-interface/view?aid=78175545
,而不是https://api.bilibili.com/x/web-interface/view?aid=av78175545
。
否则报错:
为此,我走了不少弯路。还以为要加cookie啥的,但一想我就算没登陆也可以查看视频啊。
参考资料
python 爬取B站封面
这篇关于B04.有意思的小东西 - 交封不杀(下载X站封面)[python]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!