高質(zhì)量直播源獲取-python

第一步:
http://live.readyidu.com/getTypeList 獲得分類列表

第二步: 將上一步獲得的數(shù)據(jù)中的 id 傳入第二個(gè)網(wǎng)絡(luò)請(qǐng)求中 :
http://live.readyidu.com/getNewChannelListByTypeId?typeId=200 例如 200 就是上邊獲得的中央頻道的id

第三步:上一步獲取結(jié)果中,比如說 CCTV1 下有很多個(gè)源,每個(gè)源里都包涵:r, f, i, m 4個(gè)值,i 就是我們要用到的 id

http://live.readyidu.com/getSourceById?id=5181 例如 5181 就是一個(gè)id,使用GET請(qǐng)求這個(gè)地址,但是要注意,再模擬的時(shí)候需要在頭部加上一對(duì):
platform = ios

這樣我們模擬請(qǐng)求就可以正確的取到源了。

{
"code": 200,
"data": "http://livestream.readyidu.com/live/cctv2.m3u8?v=cbmu7y5b",
"errorMessage": "",
"errorCode": 200,
"message": ""
}

# coding:utf-8

import sys, json
from urllib import parse
import http.client

if __name__ == '__main__':
    sourceTypeAPI = 'http://live.readyidu.com/getTypeList'
    sourceChannelListAPI = 'http://live.readyidu.com/getNewChannelListByTypeId?typeId='
    sourceIdAPI = 'http://live.readyidu.com/getSourceById?id='

    # 請(qǐng)求源類型列表
    conn = http.client.HTTPConnection('live.readyidu.com')
    header = {"platform": "ios"}

    conn.request(method="GET", url=sourceTypeAPI)
    response = conn.getresponse()
    res = response.read()
    resp = json.loads(res)
    typeArray=resp['data']
    for item in typeArray:
        print(item['type'], "id:", item['id'])
        # 獲得這個(gè)分類下的節(jié)目列表
        typeSourceURL=sourceChannelListAPI + str(item['id'])
        conn.request(method="GET", url=typeSourceURL)
        sourceChannelResp = json.loads(conn.getresponse().read())
        channelArray=sourceChannelResp['data']['channels']
        for channel in channelArray:
            # 獲得每個(gè)源的請(qǐng)求地址
            print("\t頻道名:", channel['c'])
            sourceArray=channel['o']
            for source in sourceArray:
                # 獲得具體源
                sourceIdAPIURL = sourceIdAPI + str(source['i'])
                conn.request(method="GET", url=sourceIdAPIURL, headers=header)
                sourceResp = json.loads(conn.getresponse().read())
                swicher = {  # 定義一個(gè)map,相當(dāng)于定義case:func()
                    1: "極速",
                    2: "流暢",
                    3: "一般",
                    4: "一般"
                }
                if 'data' in sourceResp:
                    print("\t\t", swicher.get(source['m']), sourceResp['data'])

來自:http://bbs.cnsat.net/thread-249654-1-1.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 2018年的這趟療休養(yǎng)差點(diǎn)讓麗丟了性命 中午吃飯的時(shí)間,在食堂麗拿著手機(jī)跟我說,你看你看,就是我們這趟旅行,都過去...
    金聲說今事閱讀 258評(píng)論 0 0
  • 說媒 2014-04-02 20:18 今天上班路上偶遇美的媽媽,她一個(gè)勁地夸獎(jiǎng)她的女婿。說她的女婿會(huì)掙錢體貼家人...
    81d1aa263da清風(fēng)閱讀 272評(píng)論 0 0
  • 一天就是一生,一年就是一輩子 每個(gè)黎明即起的清晨,我就幸福的歌唱;每當(dāng)看見太陽從東方燦爛升起,我黑黑的臉就眉飛色揚(yáng)...
    一枚冰兒閱讀 289評(píng)論 0 0
  • 大城市生活不易,節(jié)奏很快,而且不知不覺間還會(huì)耗費(fèi)很多精力。 上班辛苦,晚上到家也晚;為了補(bǔ)償,就想多玩一會(huì)兒,難免...
    計(jì)然閱讀 1,002評(píng)論 0 1

友情鏈接更多精彩內(nèi)容