python 获取b站视频地址

使用you-get下载凉宫春日https://bangumi.bilibili.com/anime/1056时,需要批量获取下载地址。发现使用urllib.urlopen()获取的内容和浏览器的源代码不一样,后来发现相关内容是ajax加载的.
F12,网络,xhr中找到ajax的请求地址,然后就好办了。

import urllib2
import json

# 注意 1056,修改这个数字得到其他视频集
jsonurl = "https://bangumi.bilibili.com/jsonp/seasoninfo/1056.ver?callback=seasonListCallback&jsonp=jsonp"

data = urllib2.urlopen(jsonurl).read()

first = data.index("{")
last = data.rindex("}")
json_data = data[first:last+1]

j = json.loads(json_data)
list = j['result']['episodes']

for item in list:
    print item['index']," ",item['index_title']," ",item['webplay_url']

输出为:

14   凉宫春日的忧郁 VI   http://bangumi.bilibili.com/anime/1056/play#18914
13   凉宫春日的忧郁 V   http://bangumi.bilibili.com/anime/1056/play#18913
12   Live Alive   http://bangumi.bilibili.com/anime/1056/play#18912
11   射手座之日   http://bangumi.bilibili.com/anime/1056/play#18911
10   凉宫春日的忧郁 IV   http://bangumi.bilibili.com/anime/1056/play#18910
9   Someday in the rain   http://bangumi.bilibili.com/anime/1056/play#18909
8   孤岛综合症(后篇)   http://bangumi.bilibili.com/anime/1056/play#18908
7   神秘信号   http://bangumi.bilibili.com/anime/1056/play#18907
6   孤岛综合症(前篇)   http://bangumi.bilibili.com/anime/1056/play#18906
5   凉宫春日的忧郁 III   http://bangumi.bilibili.com/anime/1056/play#18905
4   凉宫春日的退屈   http://bangumi.bilibili.com/anime/1056/play#18904
3   凉宫春日的忧郁 II   http://bangumi.bilibili.com/anime/1056/play#18903
2   凉宫春日的忧郁 I   http://bangumi.bilibili.com/anime/1056/play#18902
1   朝比奈实玖琉的冒险 Episode00   http://bangumi.bilibili.com/anime/1056/play#18901

get

你可能感兴趣的:(工具)