亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 用python制作個視頻下載器

用python制作個視頻下載器

熱門標簽:滴滴地圖標注公司 江門智能電話機器人 地圖標注可以遠程操作嗎 甘肅高頻外呼系統 智能電話機器人調研 天津塘沽區地圖標注 杭州房產地圖標注 如何申請400電話代理 400電話在線如何申請

前言

某個夜深人靜的夜晚,夜微涼風微揚,月光照進我的書房~
當我打開文件夾以回顧往事之余,驚現許多看似雜亂的無聊代碼。我拍腿正坐,一個想法油然而生:“生活已然很無聊,不如再無聊些叭”。
于是,我決定開一個專題,便稱之為kimol君的無聊小發明。
妙…啊~~~

眾所周知,視頻是一個學習新姿勢知識的良好媒介。那么,如何利用爬蟲更加方便快捷地下載視頻呢?本文將從數據包分析到代碼實現來進行一個相對完整的講解。

一、爬蟲分析

本次選取的目標視頻網站為某度旗下的好看視頻:

https://haokan.baidu.com

1.視頻搜索

進入主頁后,我們可以看到一個搜索框歷歷在目:

當我們點擊搜索按鈕之后,會出現與關鍵字(ps.這里要考,大家仔細看😋)相匹配的視頻,我們需要做的便是抓包來分析其中的請求數據。

關于抓包工具,可以選擇三方工具(如Fiddler或者Burpsuit等),當然也可以選擇瀏覽器自帶的調試工具(在瀏覽器中按F12即可打開)。
在這里我選擇了后者,打開F12調試工具,選擇網絡:

在點擊搜索按鈕之后我們可以看到相應的網絡請求出現在下面的工具框中:

通過簡單的查找之后我們可以很容易地發現對應的搜索請求(紅框標出部分),其對應的地址為:

https://haokan.baidu.com/videoui/page/search?query=kimol君666

那么,我們通過requests庫來模擬該請求,便可實現搜索視頻的功能:

import requests
res = requests.get('https://haokan.baidu.com/videoui/page/search?query=xxxxx')# xxxxx表示你需要搜索的關鍵字

注:這里不需要用到請求頭headers,但是不能一概而論。是否需要請求頭要根據具體網站分析哦~

你沒有看錯,我只用了2行代碼便實現了視頻網站的搜索功能。有時候,爬蟲就是這么簡單😉!
在得到請求后,接下來我們要對這個請求返回的數據進行分析,同樣是在F12調試工具中點擊右側的響應便可以看到請求的響應:

很顯然,這里返回的是一個HTML格式的數據,我們只需要通過re庫或是bs4庫等將我們需要的數據提取出來即可。至此,關于視頻搜索的分析基本算是完成了。
然而!細心的小伙伴會發現,我們現在可以獲得搜索結果,但是沒辦法選擇頁面呀。對嚯~那咋辦呀?

同樣,我們繼續抓包分析不就可以了嘛~ 我倒要看看你是怎么翻頁的。果然,下滑鼠標之后我們得到了新的請求:

其請求地址變為了:

https://haokan.baidu.com/videoui/page/search?pn=2rn=10_format=jsontab=videoquery=kimol君666

請求多了pn、rn、_format、tab等參數,而且請求返回的格式也變為了JSON格式(豈不美哉?更方便提取想要的數據了)。通過簡單測試可以知道,這些參數分別代表:

參數 說明
pn 請求的頁碼
rn 每次請求返回的數據量
_format 請求返回的數據格式
tab 請求的標簽類型

那么,相應的代碼可以改為:

import requests
page = 1
keyword = 'xxxxx' # xxxxx為搜索的關鍵字
url = 'https://haokan.baidu.com/videoui/page/search?pn=%drn=10_format=jsontab=videoquery=%s'%(page,keyword)
res = requests.get(url)
data = res.json()

至此,視頻搜索部分的分析算是告于段落了。

2.視頻下載

視頻下載的思路也很清晰,只需進入播放視頻的界面找到相應的視頻原文件地址即可。
小手一點,我們便進到了一個視頻的播放界面,我們可以發現其URL很有規律:它通過一個vid的參數來指向的相應視頻。

右鍵視頻播放頁面查看源碼(或者通過右鍵視頻檢查元素也可),我們可以找到視頻播放的src,其對應的正則表達式為:

p = 'video class="video" src=(.*?)>'

那么,我們可以定義一個函數來解析視頻的原文件地址:

def get_videoUrl(vid):
 '''
 提取視頻信息中的視頻源地址
 '''
 res = requests.get('https://haokan.baidu.com/v?vid=%s'%vid)
 html = res.text
 videoUrl = re.findall('video class="video" src=(.*?)>',html)[0]
 return videoUrl

輸入視頻的id參數,將返回視頻的真正文件地址。有了視頻的地址,要下載視頻便是信手拈來:

def download_video(vid):
 '''
 下載視頻文件
 '''
 savePath = 'xxxxx.mp4' # 定義存儲的文件名
 videoUrl = get_videoUrl(vid) # 獲取視頻下載地址 
 res = requests.get(videoUrl)
 with open(savePath,'wb') as f:
 f.write(res.content)

至此,我們已經可以根據關鍵字搜索相關的視頻,并且可以把視頻下載到本地了。這也意味著:關于本次視頻下載爬蟲的介紹也就結束了,剩下的就是根據自己實際需求對代碼進行包裝即可。

二、我的代碼

這里提供一個我自己的代碼,僅供參考:

# =============================================================================
# 好看視頻_v0.1
# =============================================================================
import re
import os
import time
import queue
import requests
import threading
import pandas as pd

class Haokan:
 def __init__(self):
 self.url = 'https://haokan.baidu.com/videoui/page/search?pn=%drn=20_format=jsontab=videoquery=%s'
 self.headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
  'Connection': 'keep-alive',
  'Upgrade-Insecure-Requests': '1',
  'TE': 'Trailers',
 }
 self.savaPath = './videos' # 視頻存儲路徑
 
 def get_info(self,keywords,page):
 '''
 搜索關鍵字,獲取相關視頻信息
 '''
 self.result = [] # 相關視頻信息
 for p in range(1,page+1):
  res = requests.get(self.url%(p,keywords),headers=self.headers)
  data = res.json()['data']['response']
  videos = data['list']
  self.result.extend(videos)
  print('"第%d頁"爬取完成!'%(p+1))
 self.result = pd.DataFrame(self.result)
 self.result.to_excel('%s.xlsx'%keywords,index=False)
 # 定義隊列,用于多線程下載視頻
 self.url_queue = queue.Queue() 
 for vid,url in zip(self.result['vid'],self.result['url']):
  self.url_queue.put((vid,url))
 
 def get_videoUrl(self,url):
 '''
 提取視頻信息中的視頻源地址
 '''
 res = requests.get(url,headers=self.headers)
 html = res.text
 videoUrl = re.findall('video class="video" src=(.*?)>',html)[0]
 return videoUrl
 
 def download_video(self,videoId,videoUrl):
 '''
 下載視頻文件
 '''
 # 如果視頻存儲目錄不存在則創建
 if not os.path.exists(self.savaPath):
  os.mkdir(self.savaPath)
 res = requests.get(videoUrl,headers=self.headers)
 with open('%s/%s.mp4'%(self.savaPath,videoId),'wb') as f:
  f.write(res.content)
  
 def run(self):
 while not self.url_queue.empty():
  t_s = time.time()
  vid,url = self.url_queue.get()
  try:
  video_url = self.get_videoUrl(url)
  self.download_video(vid,video_url)
  except:
  print('"%s.mp4"下載失敗!'%vid)
  continue
  t_e = time.time()
  print('"%s.mp4"下載完成!(用時%.2fs)'%(vid,t_e-t_s))
  
if __name__ == "__main__":
 keywords = '多啦A夢'
 page = 1 # 爬取頁數,每頁20條信息
 t_s = time.time()
 haokan = Haokan()
 haokan.get_info(keywords,page)
 N_thread = 3 # 線程數
 thread_list = []
 for i in range(N_thread):
 thread_list.append(threading.Thread(target=haokan.run))
 for t in thread_list:
 t.start()
 for t in thread_list:
 t.join()
 t_e = time.time()
 print('任務完成!(用時%.2fs)'%(t_e-t_s))
 

運行代碼,可以看到小頻頻全都來到我的碗里了😍~

寫在最后

今天分享的視頻下載算是最基礎的了,它宛如一位慈祥的老奶奶,慈眉善目,面帶笑容。它沒有各種繁瑣的反爬機制(甚至連headers都不進行驗證),而且數據返回的格式也是極其友好的,就連視頻格式也顯得如此的溫柔。

我相信在“她”的陪伴下,我們可以走好學習爬蟲的第一步。縱使日后我們還將面臨IP驗證、參數驗證、驗證碼、行為檢測、瑞數系統等等諸多反爬考驗,也許還需應對視頻格式轉換等挑戰。
但是,請記住kimol君將始終陪伴在你們身邊~

最后,感謝各位大大的耐心閱讀,咋們下次再會~

以上就是用python制作個視頻下載器的詳細內容,更多關于python 制作視頻下載器的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python做個自定義動態壁紙還可以放視頻
  • Python代碼生成視頻的縮略圖的實例講解
  • 使用Python編寫簡單的畫圖板程序的示例教程
  • Python趣味編程實現手繪風視頻示例

標簽:河池 重慶 漢中 德宏 廊坊 東莞 臨汾 長春

巨人網絡通訊聲明:本文標題《用python制作個視頻下載器》,本文關鍵詞  用,python,制作,個,視頻下載,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用python制作個視頻下載器》相關的同類信息!
  • 本頁收集關于用python制作個視頻下載器的相關信息資訊供網民參考!
  • 推薦文章
    亚洲爆爽| 久久99中文字幕| 国产高清在线精品一区a| 欧美一区二区三区在线观看| 四虎影视久久久| 国产伦理精品| 午夜精品国产自在现线拍| 日本在线不卡视频| 精品久久久久久中文字幕一区| 国产一区二区精品| 韩国三级香港三级日本三级| 999久久狠狠免费精品| 99热精品在线| 欧美α片无限看在线观看免费| 日韩专区一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久久久久久免费视频| 91麻豆精品国产自产在线观看一区| 日韩中文字幕在线播放| 国产网站在线| 成人影视在线观看| 久久精品成人一区二区三区| 99色播| 久久成人性色生活片| 国产精品自拍一区| 亚欧乱色一区二区三区| 欧美另类videosbestsex视频| 免费一级片在线观看| 二级特黄绝大片免费视频大片| 99久久精品国产免费| 天天综合在线观看 | 可以免费看污视频的网站| 精品视频在线观看免费| 99久久精品国产国产毛片| 美女免费毛片| 国产麻豆精品高清在线播放| 亚洲女人国产香蕉久久精品| 国产精品自拍在线观看| 四虎影视久久| 四虎久久影院| 国产不卡高清| 999精品影视在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频在线看| 青青久久国产成人免费网站| 久久久久久久久综合影视网| 日韩中文字幕在线播放| 日本免费看视频| 四虎久久影院| 四虎久久精品国产| 欧美另类videosbestsex久久 | 999久久狠狠免费精品| 九九精品在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦久视频免费观看视频| 亚洲第一色在线| 免费毛片播放| 国产a视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | a级精品九九九大片免费看| 日韩一级黄色大片| 亚洲精品中文字幕久久久久久| 欧美一级视| 亚欧视频在线| 久久99中文字幕久久| 国产一级强片在线观看| 国产成人啪精品视频免费软件| 尤物视频网站在线观看| 成人a大片高清在线观看| 精品视频在线观看免费| 天天做日日爱| 精品视频在线看 | 一级毛片视频免费| 一级女性全黄生活片免费| 成人a级高清视频在线观看| 精品久久久久久影院免费| 青青久久国产成人免费网站| 中文字幕一区二区三区精彩视频| 日本伦理网站| 国产成人欧美一区二区三区的| 日本免费乱理伦片在线观看2018| 国产一区二区精品在线观看| 免费国产在线观看| 国产成人精品影视| 99色视频在线| 九九久久99综合一区二区| 黄色福利| 亚欧乱色一区二区三区| 色综合久久天天综合| 免费一级片在线观看| 沈樵在线观看福利| 日本伦理片网站| 久久99爰这里有精品国产| 日韩一级黄色| 麻豆污视频| 深夜做爰性大片中文| 国产一区精品| 韩国毛片免费大片| 国产高清在线精品一区二区| 可以免费在线看黄的网站| 麻豆系列 在线视频| 青青青草视频在线观看| 日本伦理网站| 国产不卡精品一区二区三区| 香蕉视频久久| 欧美爱色| 国产亚洲精品成人a在线| 夜夜操网| 国产一区二区精品久久| 亚洲精品永久一区| 一 级 黄 中国色 片| 亚洲第一色在线| 天天色成人网| 你懂的日韩| 国产成人啪精品| 国产综合91天堂亚洲国产| 日本免费乱人伦在线观看| 国产亚洲免费观看| 国产网站在线| 久久99爰这里有精品国产| 日韩女人做爰大片| 美女免费毛片| 麻豆午夜视频| 国产欧美精品| 日本免费区| 成人免费高清视频| 欧美一级视频高清片| 九九热国产视频| 中文字幕一区二区三区精彩视频| 久久99这里只有精品国产| 可以免费在线看黄的网站| 欧美激情一区二区三区中文字幕| 国产精品1024在线永久免费| 四虎影视久久久免费| 人人干人人插| 国产一区免费在线观看| 日韩男人天堂| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品自拍在线| 欧美激情一区二区三区视频 | 成人免费一级毛片在线播放视频| 久久精品免视看国产明星| 韩国三级视频网站| 国产91精品一区二区| 亚欧成人乱码一区二区| 久久久久久久网| 欧美a级片免费看| 国产伦久视频免费观看视频| 亚洲天堂免费观看| 麻豆午夜视频| 国产一级强片在线观看| 一级毛片看真人在线视频| 国产视频一区二区在线播放| 欧美18性精品| 四虎影视久久久| 91麻豆精品国产片在线观看| 欧美电影免费看大全| 日本免费看视频| 国产福利免费观看| 日本伦理片网站| 黄视频网站在线观看| 999久久狠狠免费精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产一区二区三区久| 毛片高清| 国产网站在线| 日韩男人天堂| 国产极品精频在线观看| 欧美大片aaaa一级毛片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久国产一久久高清| 99色视频| 久久精品大片| 国产伦久视频免费观看视频| 精品国产香蕉在线播出| 精品视频免费观看| 日韩在线观看视频网站| 午夜精品国产自在现线拍| 美女免费精品高清毛片在线视| 日日爽天天| 欧美国产日韩精品| 欧美激情影院| 久久国产精品自线拍免费| 一级女性大黄生活片免费| 国产综合成人观看在线| 国产一区二区精品尤物| 日韩在线观看免费| 沈樵在线观看福利| 日日夜夜婷婷| 毛片高清| 成人免费高清视频| 国产91丝袜在线播放0| 亚欧成人乱码一区二区| 午夜欧美成人香蕉剧场| 成人免费一级纶理片| 精品视频在线看 | 99色播| 日本伦理黄色大片在线观看网站| 毛片高清| 久久精品欧美一区二区|