亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python爬蟲小練習之爬取并分析騰訊視頻m3u8格式

 更新時間:2021年10月14日 11:56:15   作者:松鼠愛吃餅干  
讀萬卷書不如行萬里路,學的扎不扎實要通過實戰(zhàn)才能看出來,本篇文章手把手帶你爬下騰訊視頻的m3u8格式來分析,大家可以在過程中查缺補漏,看看自己掌握程度怎么樣

普通爬蟲正常流程:

  • 數(shù)據(jù)來源分析
  • 發(fā)送請求
  • 獲取數(shù)據(jù)
  • 解析數(shù)據(jù)
  • 保存數(shù)據(jù)

環(huán)境介紹

  • python 3.8
  • pycharm 2021專業(yè)版

【付費VIP完整版】只要看了就能學會的教程,80集Python基礎(chǔ)入門視頻教學

點這里即可免費在線觀看

分析網(wǎng)站

先打開開發(fā)者工具,然后搜索m3u8,會返回給你很多的ts的文件,像這種ts文件,就是視頻的片段

我們可以復制url地址,在新的瀏覽頁打開

然后會給我們下載ts的文件,打開文件,就會發(fā)現(xiàn)是十多秒的視頻片段

所以說這些數(shù)據(jù)的數(shù)據(jù)還是比較好找的,只要我們找到地址是從哪里來的

找到url地址,因為是post請求,所以需要下面的表達參數(shù)

開始代碼

導入模塊

import requests
import re
from tqdm import tqdm # 進度條展示

數(shù)據(jù)請求

url = 'https://vd.l.qq.com/proxyhttp'
data = {"buid":"vinfoad","adparam":"pf=in&ad_type=LD%7CKB%7CPVL&pf_ex=pc&url=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fj3czmhisqin799r.html&refer=https%3A%2F%2Fv.qq.com%2Fx%2Fsearch%2F&ty=web&plugin=1.0.0&v=3.5.57&coverid=j3czmhisqin799r&vid=z002615k57t&pt=&flowid=e9b3e49b2593efd194cbcd24030ed803_10201&vptag=www_baidu_com%7Cvideo%3Aposter_tle&pu=-1&chid=0&adaptor=2&dtype=1&live=0&resp_type=json&guid=4b4e192e83f4abaf8b68df3e4f5be769&req_type=1&from=0&appversion=1.0.166&uid=522810848&tkn=fbYfeWDCLKtAaOd_OGvCNg..&lt=qq&platform=10201&opid=5FE180427A4C883F69CADDED665CE99B&atkn=49C1A486316C8D269AC65AAC080CFB29&appid=101483052&tpid=1&rfid=86c3f668da63d8bc7aab3fbc1eb7378a_1633763084","vinfoparam":"spsrt=1&charge=0&defaultfmt=auto&otype=ojson&guid=4b4e192e83f4abaf8b68df3e4f5be769&flowid=e9b3e49b2593efd194cbcd24030ed803_10201&platform=10201&sdtfrom=v1010&defnpayver=1&appVer=3.5.57&host=v.qq.com&ehost=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fj3czmhisqin799r.html&refer=v.qq.com&sphttps=1&tm=1633767536&spwm=4&logintoken=%7B%22main_login%22%3A%22qq%22%2C%22openid%22%3A%225FE180427A4C883F69CADDED665CE99B%22%2C%22appid%22%3A%22101483052%22%2C%22access_token%22%3A%2249C1A486316C8D269AC65AAC080CFB29%22%2C%22vuserid%22%3A%22522810848%22%2C%22vusession%22%3A%22fbYfeWDCLKtAaOd_OGvCNg..%22%7D&vid=z002615k57t&defn=fhd&fhdswitch=0&show1080p=1&isHLS=1&dtype=3&sphls=2&spgzip=1&dlver=2&drm=32&hdcp=0&spau=1&spaudio=15&defsrc=2&encryptVer=9.1&cKey=W5agxKnJ7N56KJEItZs_lpJX5WB4a2CdS8kEIo8rVaqtHEZQ1c_W6myJ8hQXnmDDG8ErEJDMLjvm2vPBr-xE-uhvZyEMY131vUh1H4pgCXe2OphM_H32Jqtu2hFoqfA-un0sVBkIXYfWkOdABnbLUo4RgzSXkBHF3N3K7dNKPg_56X9JO3gwBMyBeAex05x8SbbQKY5AXaDVSM7hsBQ8XEeHzIEGJzlCt94ONgPYVSRkZqo51NVr_Bs8h4-UNLT0jG-obbyNs2IJhrZ4JUBeuGEk8zAOhE9HTZPNDViLRIyt2mNDud09qSLLKl4XAj3CE6i26P6BRyAy1_qatijXkm9J1hs3ZYC7dgYmAZD6BE9UGX4hkziTy-Y8cCBppeEBGSaj9w&fp2p=1&spadseg=3"}

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
response = requests.post(url=url, json=data, headers=headers)

提取數(shù)據(jù)

html_data = response.json()['vinfo']
# 正則表達式
m3u8_url = re.findall("url(.*?),", html_data)[3].split('"')[2]
m3u8_data = requests.get(url=m3u8_url).text
m3u8_data = re.sub('#EXTM3U', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-VERSION:\d', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-MEDIA-SEQUENCE:\d', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-TARGETDURATION:\d+', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-PLAYLIST-TYPE:VOD', '', m3u8_data)
m3u8_data = re.sub('#EXTINF:\d+\.\d+,', '', m3u8_data)
m3u8_data = re.sub('#EXT-X-ENDLIST', '', m3u8_data).split()

遍歷

for ts in tqdm(m3u8_data):
    ts_url = 'https://apd-57c5d150c8b9788baf40ea4f65feddf8.v.smtcdns.com/moviets.tc.qq.com/A2k4JuW9ATia8thdFQ6y5HWRUGLqAr4L5fk9KFbAUEI8/uwMROfz2r5xgoaQXGdGnC2df64gVTKzl5C_X6A3JOVT0QIb-/doVi4hWq0sqexPo_ylKYxVIJdr9zz2VweWbcY7x70kRnbVNPvBaoTsjwfOq1uojOtsRKJ8r3372HRaTOVg4VyKOFFvzjq2EeMdpleIIyTv0tb-C3CzXmkZz-34hK4Fc-r4mZK55L9W1RqJMpsvrORZr_sqpqvGZrrRq830get0NLJGkeAQ9SBg/' + ts
    ts_content = requests.get(url=ts_url).content

保存數(shù)據(jù)

with open('霸王別姬.mp4', mode='ab') as f:
    f.write(ts_content)
print('下載完成')

運行代碼

到此這篇關(guān)于Python爬蟲小練習之爬取并分析騰訊視頻m3u8格式的文章就介紹到這了,更多相關(guān)Python爬取騰訊視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 的 with 語句詳解

    Python 的 with 語句詳解

    這篇文章主要介紹了Python 的 with 語句,本文詳細講解了with語句、with語句的歷史、with語句的使用例子等,需要的朋友可以參考下
    2014-06-06
  • PyTorch搭建ANN實現(xiàn)時間序列風速預測

    PyTorch搭建ANN實現(xiàn)時間序列風速預測

    這篇文章主要為大家介紹了PyTorch搭建ANN實現(xiàn)時間序列風速預測,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python實現(xiàn)的簡單文件傳輸服務器和客戶端

    Python實現(xiàn)的簡單文件傳輸服務器和客戶端

    這篇文章主要介紹了Python實現(xiàn)的簡單文件傳輸服務器和客戶端,本文直接給出Server和Client端的實現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • Python函數(shù)參數(shù)類型*、**的區(qū)別

    Python函數(shù)參數(shù)類型*、**的區(qū)別

    這篇文章主要介紹了Python函數(shù)參數(shù)類型*、**的區(qū)別,本文用實例講解它們的區(qū)別,并講解了閉包的相關(guān)知識,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)求最大公約數(shù)及判斷素數(shù)的方法

    Python實現(xiàn)求最大公約數(shù)及判斷素數(shù)的方法

    這篇文章主要介紹了Python實現(xiàn)求最大公約數(shù)及判斷素數(shù)的方法,涉及Python算數(shù)運算的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Pandas中的常用數(shù)據(jù)類型詳解

    Pandas中的常用數(shù)據(jù)類型詳解

    文章總結(jié):介紹了pandas庫中常用的四種數(shù)據(jù)結(jié)構(gòu):Series、DatetimeIndex、DataFrame和Panel,詳細解釋了Series和DatetimeIndex的基本組成和常用操作,并提供了生成時間序列對象的函數(shù)date_range()及其參數(shù)說明
    2025-01-01
  • 詳解python如何調(diào)用C/C++底層庫與互相傳值

    詳解python如何調(diào)用C/C++底層庫與互相傳值

    Python作為一門腳本解釋語言,本身又很好的結(jié)合C++,所以使用Python開發(fā),在性能要求的地方調(diào)用C/C++底層庫,這簡直是神器。本文詳細介紹了Python調(diào)用C/C++底層庫,互相傳值問題,下面一起來看看。
    2016-08-08
  • 基于Python實現(xiàn)新年倒計時

    基于Python實現(xiàn)新年倒計時

    眼看馬上春節(jié)就要來臨了,所以滿懷期待的寫了一個Python新年倒計時的小工具!文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-01-01
  • Python tkinter模塊中類繼承的三種方式分析

    Python tkinter模塊中類繼承的三種方式分析

    這篇文章主要介紹了Python tkinter模塊中類繼承的三種方式,結(jié)合實例形式分析了三種繼承方式的實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-08-08
  • Python文件操作之二進制文件詳解

    Python文件操作之二進制文件詳解

    下面小編就為大家?guī)硪黄褂肞ython文件操作之二進制文件。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09

最新評論