1. 程式人生 > >python幾乎無所不能 只有你不知道的,如何通過Python玩轉小視頻

python幾乎無所不能 只有你不知道的,如何通過Python玩轉小視頻

nload 找到 while odi strong Coding .com CA 思路

什麽是爬蟲?

就是抓取網頁數據的程序

爬蟲怎麽抓取網頁數據?

網頁三大特征:

  • 網頁都有自己唯一的URL。
  • 網頁都是HTML來描述頁面信息。
  • 網頁都使用http/https協議來傳輸HTML數據。

爬蟲的設計思路:

  • 獲取視頻ID
  • 拼接完整url
  • 獲取視頻播放地址
  • 下載視頻

模塊使用 requests

安裝“pip install requests”

Requests庫的七個主要方法

技術分享圖片

找到單個視頻播放地址

技術分享圖片

獲取網頁源代碼

技術分享圖片

獲取播放地址

技術分享圖片

下載視頻

技術分享圖片

技術分享圖片 完整代碼
 1 # -*- coding:utf-8 -*- 
 2 import
requests 3 from lxml import etree 4 import re 5 from urllib.request import urlretrieve 6 #獲取視頻ID 7 #拼接完整url 8 #獲取視頻播放地址 9 #下載視頻 10 #Python學習交流群:125240963,群內每天分享幹貨,包括最新的python企業案例學習資料和零基礎入門教程,歡迎各位小夥伴入群學習交流 11 12 def download(url): 13 #url = ‘http://www.pearvideo.com/category_9‘ 14 #獲取源代碼 15
#html = requests.get(url) 16 html = requests.get(url).text 17 #把文本文件處理成可解釋的對象 18 #如果我用正則可以不可以也可以 19 html = etree.HTML(html) 20 video_id = html.xpath(//div[@class="vervideo-bd"]/a/@href) 21 video_url = [] 22 starurl = http://www.pearvideo.com 23 #完整拼接url 24 for id in
video_id: 25 newurl = starurl + / + id 26 video_url.append(newurl) 27 #獲取視頻播放地址 28 for playurl in video_url: 29 #獲取頁面源代碼 30 html = requests.get(playurl).text 31 #print(playurl) 32 req = srcUrl="(.*?)" 33 #視頻真正播放地址 34 purl = re.findall(req,html) 35 #print(purl) 36 #獲取視頻名稱 37 req = <h1 class="video-tt">(.*?)</h1> 38 pname = re.findall(req,html) 39 print("正在下載:%s"%pname) 40 41 urlretrieve(purl[0],./video/%s.mp4%pname[0]) 42 #download() 43 44 def downloadmore(): 45 n = 12 46 while True: 47 if n > 48: 48 return 49 url = "http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&star=%d"%n 50 n+=12 51 download(url) 52 downloadmore()

python幾乎無所不能 只有你不知道的,如何通過Python玩轉小視頻