Python電影爬蟲之身體每況愈下
1.一時興起
我們平常線上看視訊時,有的時候會想下載到本地繼續觀看,但是苦於頁面上找不到下載按鈕,那麼我們如何自己實現這個功能呢?
2.躍躍欲試
不要著急,我們開啟瀏覽器f12開發者模式,點選如下:
可以看到下面這個帶編號的ts檔案,我們點開000號檔案看看
可以看到,000號檔案請求了一個網址,我們新開一個視窗,看看裡面有什麼
可以看到,在網址欄輸入這個地址,它給我們下載下來了000.ts檔案,我們開啟該檔案觀察一下
開啟一看,是一個5s的短視訊,場景怎麼如此熟悉,這不正是我們開頭所見的那一幕嗎。
有了有了,原來我們線上觀看的視訊是瀏覽器一次一次請求的ts檔案拼接而來的,第一個檔案真是正是000.ts,那麼,我們可不可以找到這個編號的規律,自己一次性去請求這些地址從而拿到視訊呢,答案是肯定的,因為這個規律實在是太過簡單
這不正是10以內的加減法嗎,我們直接快進到視訊結束,可以看到
最後一個ts檔案的編號正是721,ok。那麼開始編碼吧
import requests
import os
import time
from multiprocessing import Pool
def run(i):
url = 'https://v-cntv-cn.com/20181001/8645_8bbbbc35/800k/hls/96c5332c236%03d.ts'%i
print("開始下載:"+url)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"}
r = requests.get(url, headers = headers)
with open('./download/{}'.format(url[-10:]),'wb') as f:
f.write(r.content)
def merge(t,cmd):
time.sleep(t)
res=os.popen(cmd)
print(res.read())
if __name__ == '__main__':
# 建立程式池,執行10個任務
pool = Pool(10)
for i in range(722):
pool.apply_async(run, (i,)) #執行任務
pool.close()
pool.join()
#呼叫合併
merge(0,"copy /b download\\*.ts download\\movie.mp4")
print('ok!處理完成')
for迴圈生成順序數傳入run函式,啟動10個執行緒同時下載。
下載完成之後我們再呼叫merge函式將這700多個ts檔案拼接成一個mp4檔案。
執行主函式:
3.大功告成
可以看到,download目錄下生成了一些奇奇怪怪的ts檔案,資料夾開啟,也可以看到出現了一些奇奇怪怪的片段
等待程式執行完成,我們的download目錄下會生成一個合併後的檔案,點開播放之,時長吻合
4.索然無味
索然無味
相關文章
- python初級爬蟲之貓眼電影Python爬蟲
- Python爬蟲批次下載電影連結Python爬蟲
- Python爬蟲筆記(4):利用scrapy爬取豆瓣電影250Python爬蟲筆記
- Python爬蟲教程-17-ajax爬取例項(豆瓣電影)Python爬蟲
- python爬蟲 爬取豆瓣電影 1-10 ajax 資料Python爬蟲
- 擼個爬蟲,爬取電影種子爬蟲
- Python爬蟲例項:爬取貓眼電影——破解字型反爬Python爬蟲
- Python 爬蟲實戰(1):分析豆瓣中最新電影的影評Python爬蟲
- 爬蟲01:爬取豆瓣電影TOP 250基本資訊爬蟲
- Python爬取電影天堂Python
- 【Python】從0開始寫爬蟲——轉身扒豆瓣電影Python爬蟲
- 【python爬蟲案例】利用python爬取豆瓣電影TOP250評分排行資料!Python爬蟲
- 爬蟲如何爬取貓眼電影TOP榜資料爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- Python網路爬蟲(正則, 內涵段子,貓眼電影, 鏈家爬取)Python爬蟲
- python-爬蟲-css提取-寫入csv-爬取貓眼電影榜單Python爬蟲CSS
- [python爬蟲] BeautifulSoup和Selenium對比爬取豆瓣Top250電影資訊Python爬蟲
- Python網路爬蟲實踐案例:爬取貓眼電影Top100Python爬蟲
- 用python實現的抓取騰訊視訊所有電影的爬蟲Python爬蟲
- 一個基於 golang 的爬蟲電影站Golang爬蟲
- Golang框架beego電影網爬蟲小試牛刀Golang框架爬蟲
- 【python爬蟲】python爬蟲demoPython爬蟲
- Python爬蟲之初體驗Python爬蟲
- Python爬蟲教程-11-proxy代理IP,隱藏地址(貓眼電影)Python爬蟲
- 擼個有成就感的爬蟲看電影爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- 【Python爬蟲&資料分析】2018年電影,你看了幾部?Python爬蟲
- Python爬蟲入門 | 7 分類爬取豆瓣電影,解決動態載入問題Python爬蟲
- python爬蟲學習01--電子書爬取Python爬蟲
- python就是爬蟲嗎-python就是爬蟲嗎Python爬蟲
- Python爬蟲入門實戰之貓眼電影資料抓取(理論篇)Python爬蟲
- Python爬蟲入門實戰之貓眼電影資料抓取(實戰篇)Python爬蟲
- python爬蟲Python爬蟲
- python 爬蟲Python爬蟲
- nodejs爬蟲獲取漫威超級英雄電影海報NodeJS爬蟲
- 【Python3網路爬蟲開發實戰】3.4-抓取貓眼電影排行Python爬蟲
- python爬取貓眼正在熱映電影Python
- 使用python爬取豆瓣電影TOP250Python