#coding:utf-8
import urllib
import urllib2
import requests
import random
import time
import sys
my_headers={
"User-Agent":"MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
'Referer':'https://v.douyu.com/show/ZB5Kv9LQwOlWa93x',
'Remote Address': '123.53.139.243:443',
'Origin': 'https://v.douyu.com',
'Referrer Policy': 'no-referrer-when-downgrade',
}
def SixNumber(str_number):
str_number=str(str_number)
while(len(str_number)<7):
str_number='0'+str_number
return str_number
def main(lf,lb,lent):
print "start"
#lf="https://videows1.douyucdn.cn/live/high_262827220190214220952-upload-726a/ae84f8c442d54cfabdbe6969e869ebbd_"
#lb=".ts?k=bce949a48ac87ffda5e53bb6bd8c3a4b&t=5d0875a5&nlimit=5&u=0&ct=web&vid=7876193&pt=2&cdn=ws&d=7cfe2a804714246910b7eac500061501"
for i in range(1,lent+1):
wl=lf+SixNumber(i)+lb
#print wl
mt="https://videows1.douyucdn.cn/live/high_262827220190214220952-upload-726a/ae84f8c442d54cfabdbe6969e869ebbd_0000001.ts?\
k=bce949a48ac87ffda5e53bb6bd8c3a4b&t=5d0875a5&nlimit=5&u=0&ct=web&vid=7876193&pt=2&cdn=ws&d=7cfe2a804714246910b7eac500061501"
if wl==mt:
print "True"
try:
request = urllib2.Request(url=wl, headers=my_headers)
response = urllib2.urlopen(request)
pic=response.read()
new_name="pic/" + str(i) + ".ts"
print new_name
with open("%s" % new_name, "wb") as f:
f.write(pic)
except:
break
wl=""
print 'finish'
"https://videows1.douyucdn.cn/live/normal_84404420161123035228/1f77797f4513448abc5846cdf8f48c8d_0001873.ts?\
k=2b27ef7f60c2c0b4badb1f36c8caec36&t=5d0884b9&nlimit=5&u=0&ct=web&vid=20603&pt=2&cdn=ws&d=7cfe2a804714246910b7eac500061501"
lf="https://videows1.douyucdn.cn/live/normal_84404420161123035228/1f77797f4513448abc5846cdf8f48c8d_"
lb=".ts?\k=2b27ef7f60c2c0b4badb1f36c8caec36&t=5d0884b9&nlimit=5&u=0&ct=web&vid=20603&pt=2&cdn=ws&d=7cfe2a804714246910b7eac500061501"
lent=50000
main(lf,lb,lent)
F12查看源码,点击XHR,随意点击一个,下载后获取它的下载地址;
不过是分段的地址,自己改为获取所有分段地址,在合并即可。
合并利用ffmpeg很容易,不做介绍。