1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        手把手教你使用Python網(wǎng)絡(luò)爬蟲獲取亞馬遜商品頁面的m3u8格式視頻

        共 2859字,需瀏覽 6分鐘

         ·

        2022-04-13 08:58

        點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

        回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書

        孤燈寒照雨,深竹暗浮煙。

        大家好,我是Python進(jìn)階者。

        一、前言

        前幾天在Python最強(qiáng)王者交流群有個(gè)叫【頑皮Dolly】的粉絲問了一個(gè)Python網(wǎng)絡(luò)爬蟲的問題,抓取亞馬遜商品視頻,這里拿出來給大家分享下,一起學(xué)習(xí)下。

        二、解決過程

        這里【皮皮】給出了解答,一起來看看吧。

        使用瀏覽器抓包發(fā)現(xiàn),這個(gè)視頻是m3u8格式的。m3u8是蘋果公司推出的視頻播放標(biāo)準(zhǔn),是m3u的一種,只是編碼格式采用的是UTF-8。

        找到Url,就可以處理了。

        其實(shí)關(guān)于m3u8格式的視頻下載,網(wǎng)上已經(jīng)有很多教程了,也有人做出了小工具,可以直接拿過來用,也是非常卷了!這里使用【吳老板】寫的小教程來演示。

        【吳老板】的小教程鏈接:https://github.com/PY-GZKY/python-automation-docs/blob/master/docs/%E7%88%AC%E8%99%AB/m3u8%E9%9F%B3%E8%A7%86%E9%A2%91%E6%8B%BC%E6%8E%A5.md

        里邊的代碼可以直接拿過來用,核心代碼如下:

        import?datetime
        import?time
        import?os
        import?requests


        #?m3u8是本地的文件路徑
        def?get_ts_urls(m3u8_path):
        ????urls?=?[]
        ????with?open(m3u8_path,?"r")?as?file:
        ????????lines?=?file.readlines()
        ????????for?line?in?lines:
        ????????????if?line.endswith(".ts\n"):
        ????????????????print(line)
        ????????????????urls.append("https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/084028a2-9a64-485f-a55b-676577059927/"+line.strip("\n"))
        ????return?urls


        def?download(ts_urls,?download_path):
        ????for?i?in?range(len(ts_urls)):
        ????????ts_url?=?ts_urls[i]
        ????????file_name?=?ts_url.split("/")[-1]
        ????????print("開始下載?%s"?%?file_name)
        ????????try:
        ????????????response?=?requests.get(ts_url,?stream=True,?verify=False)
        ????????except?Exception?as?e:
        ????????????print("異常請求:%s"?%?e.args)
        ????????????return

        ????????ts_path?=?download_path?+?"/{0}.ts".format(i)
        ????????with?open(ts_path,?"wb+")?as?file:
        ????????????for?chunk?in?response.iter_content(chunk_size=1024):
        ????????????????if?chunk:
        ????????????????????file.write(chunk)
        ????????time.sleep(.56)


        def?file_walker(path):
        ????file_list?=?os.listdir(path)
        ????#?file_list.sort()
        ????file_list.sort(key=lambda?x:?int(x[:-3]))
        ????file_list_?=?[]
        ????for?fn?in?file_list:
        ????????#?print(fn)
        ????????p?=?str("tsfiles"?+?'/'?+?fn)
        ????????file_list_.append(p)

        ????print(file_list_)
        ????return?file_list_


        def?combine(ts_path,?file_name):
        ????file_list?=?file_walker(ts_path)
        ????file_path?=?file_name?+?'.MP4'
        ????with?open(file_path,?'wb+')?as?fw:
        ????????for?i?in?range(len(file_list)):
        ????????????fw.write(open(file_list[i],?'rb').read())


        if?__name__?==?'__main__':
        ????urls?=?get_ts_urls("./data.txt")
        ????download(urls,?"tsfiles")
        ????combine("tsfiles",?"大理")

        這個(gè)是依次下載的ts文件,都是一個(gè)個(gè)幾秒的小文件。

        之后使用【吳老板】小教程上的合并combine()函數(shù)對這些ts文件進(jìn)行合并,得到一個(gè)mp4文件,如下圖所示。

        后來【孤獨(dú)】大佬提出還可以使用ffmpeg庫進(jìn)行下載,使用命令:ffmpeg -allowed_extensions ALL -i m3u8鏈接 -c copy 輸出視頻,感興趣的小伙伴們也可以試試看,方法還是很多的。

        三、總結(jié)

        大家好,我是Python進(jìn)階者。這篇文章主要分享了Python下載m3u8格式視頻的問題,針對該問題給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。

        最后感謝粉絲【頑皮Dolly】提問,感謝【皮皮】、【吳老板】、【孤獨(dú)】給出的具體解析和代碼演示,感謝【dcpeng】、【馮誠】、【冷喵】、【阿策~】、【瑜亮老師】等人參與學(xué)習(xí)交流。

        小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何Python問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

        -------------------?End?-------------------

        往期精彩文章推薦:

        歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

        想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【

        萬水千山總是情,點(diǎn)個(gè)【在看】行不行

        瀏覽 60
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            影音先锋婷婷 | 欧美性猛交ⅩXXX乱大交3 | 女尊高h乱l高辣h文全文阅读 | 色吧四虎婷婷综合 | 老年人镖客视频播放器评测 | 操人视频网站 | 国产高h视频 | 成人国产乱码久久久久 | 冲田杏梨桃乳逆护士ed2k | 欧美美女操逼 |