主頁 > 知識(shí)庫 > python爬取梨視頻生活板塊最熱視頻

python爬取梨視頻生活板塊最熱視頻

熱門標(biāo)簽:地圖標(biāo)注推廣單頁 ai地圖標(biāo)注 西藏快速地圖標(biāo)注地點(diǎn) 廈門crm外呼系統(tǒng)如何 n400電話申請(qǐng)多少錢 如何在地圖標(biāo)注文字 百應(yīng)ai電銷機(jī)器人鄭州 長春人工智能電銷機(jī)器人官網(wǎng) 女王谷地圖標(biāo)注

完整代碼如下:

import requests
from lxml import etree
import random
import os
from multiprocessing.dummy import Pool
 
 
if not os.path.exists('./視頻'):
  os.mkdir('./視頻')
 
urls=[]
url='https://www.pearvideo.com/category_5'
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36 Edg/89.0.774.45'}
 
page_text=requests.get(url=url,headers=headers).text
tree=etree.HTML(page_text)
 
li_list=tree.xpath('//ul[@id="listvideoListUl"]/li')
 
for li in li_list:
  a_url='https://www.pearvideo.com/'+li.xpath('./div/a/@href')[0]
  name=li.xpath('./div/a/div[2]/text()')[0]+'.mp4'
 
  mrd=random.random()
  code=li.xpath('./div/a/@href')[0][-7:]  
  new_headers={'Referer': a_url,
         'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50'
         }
  new_url='https://www.pearvideo.com/videoStatus.jsp?contId='+str(code)+'mrd='+str(mrd)
 
  r=requests.get(url=new_url,headers=new_headers) 
  video_url=eval(r.text)['videoInfo']['videos']['srcUrl']
 
    
  old=video_url.split('/')[-1].split('-')[0]  
  new='cont-'+str(code)
  true_video_url=video_url.replace(old,new)
 
 
  dic={'name':name,
     'my_url':true_video_url}
  urls.append(dic)
  
  
#使用線程池對(duì)數(shù)據(jù)視頻進(jìn)行請(qǐng)求
def get_video_data(dic):
  print(dic['name']+'開始下載'+'\n')
  data_url=dic['my_url']
  data=requests.get(url=data_url,headers=headers).content
  with open('./視頻/'+dic['name'],'wb') as f:
    f.write(data)
    print(dic['name']+'下載成功')
  
pool=Pool(4)
pool.map(get_video_data,urls)
 
pool.close()
pool.join()

說明:

當(dāng)前日期(2021/3/14)版本的梨視頻的視頻偽url由ajax獲取。

部分代碼解釋:

1:模塊

import requests                #網(wǎng)路爬蟲標(biāo)準(zhǔn)庫(代替urllib)
from lxml import etree            #用于解析頁面信息
import random                 #梨視頻的url中有一段需要隨機(jī)數(shù)
import os                   #主要用于生成文件夾存放視頻
from multiprocessing.dummy import Pool    #導(dǎo)入線程池對(duì)應(yīng)類

2:獲取視頻偽url

#參數(shù)準(zhǔn)備
mrd=random.random()
code=li.xpath('./div/a/@href')[0][-7:]  
new_headers={
'Referer': a_url,
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36     (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50'
      }
 
#獲取url
new_url='https://www.pearvideo.com/videoStatus.jsp?contId='+str(code)+'mrd='+str(mrd)
r=requests.get(url=new_url,headers=new_headers) 
video_url=eval(r.text)['videoInfo']['videos']['srcUrl']

3:獲取真正url

經(jīng)本人實(shí)驗(yàn),使用上文獲得的url爬取視頻下載內(nèi)容為空。

由于本人也是菜鳥,所以百思不得其解,恰巧看到B站用戶”_千戶”的留言才得知真?zhèn)蝩rl的差異:

此處視頻地址做了加密即ajax中得到的地址需要加上cont-,并且修改一段數(shù)字為id才是真地址
真地址:"https://video.pearvideo.com/mp4/third/20201120/cont-1708144-10305425-222728-hd.mp4"
偽地址:"https://video.pearvideo.com/mp4/third/20201120/1606132035863-10305425-222728-hd.mp4"

#僅需要做幾個(gè)簡(jiǎn)單的截取切片操作就可以替換相關(guān)內(nèi)容
 
old=video_url.split('/')[-1].split('-')[0]  
new='cont-'+str(code)
true_video_url=video_url.replace(old,new)

4:存儲(chǔ)

#使用線程池對(duì)數(shù)據(jù)視頻進(jìn)行請(qǐng)求
def get_video_data(dic):
  print(dic['name']+'開始下載'+'\n')
  data_url=dic['my_url']
  data=requests.get(url=data_url,headers=headers).content
  with open('./視頻/'+dic['name'],'wb') as f:
    f.write(data)
    print(dic['name']+'下載成功')
  
pool=Pool(4)
pool.map(get_video_data,urls)
 
pool.close()
pool.join()

5:結(jié)果

到此這篇關(guān)于python爬取梨視頻生活板塊最熱視頻的文章就介紹到這了,更多相關(guān)python爬取梨視頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python+uiautomator2實(shí)現(xiàn)自動(dòng)刷抖音視頻功能
  • Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜
  • 如何用python反轉(zhuǎn)圖片,視頻
  • python基于tkinter制作m3u8視頻下載工具
  • Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮?/li>
  • 寫一個(gè)Python腳本自動(dòng)爬取Bilibili小視頻
  • 用python制作詞云視頻詳解
  • Python通過m3u8文件下載合并ts視頻的操作
  • 用Python制作燈光秀短視頻的思路詳解
  • Python從視頻中提取音頻的操作
  • 教你如何使用Python下載B站視頻的詳細(xì)教程

標(biāo)簽:渭南 廊坊 綿陽 拉薩 興安盟 黔東 內(nèi)江 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python爬取梨視頻生活板塊最熱視頻》,本文關(guān)鍵詞  python,爬取,梨,視頻,生活,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python爬取梨視頻生活板塊最熱視頻》相關(guān)的同類信息!
  • 本頁收集關(guān)于python爬取梨視頻生活板塊最熱視頻的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章