婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python爬蟲線程池案例詳解(梨視頻短視頻爬取)

python爬蟲線程池案例詳解(梨視頻短視頻爬取)

熱門標簽:申請辦個400電話號碼 高德地圖標注字母 外呼系統前面有錄音播放嗎 400電話辦理費用收費 千呼ai電話機器人免費 騰訊地圖標注有什么版本 鎮江人工外呼系統供應商 柳州正規電銷機器人收費 深圳網絡外呼系統代理商

python爬蟲-梨視頻短視頻爬取(線程池)

示例代碼

import requests
from lxml import etree
import random
from multiprocessing.dummy import Pool


# 多進程要傳的方法,多進程pool.map()傳的第二個參數是一個迭代器對象
# 而傳的get_video方法也要有一個迭代器參數
def get_video(dic):
  headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56'
    }
  video_data = requests.get(url = dic['url'] , headers = headers).content
  print(dic['name']+'開始下載')
  
  # 有的文件名中包含空格,在并發執行時會報錯,這里用隨機數給文件起名了
  #path = dic['name']+'.mp4'會報錯
  path = "./lishipin/"+str(int(random.random()*100)) + '.mp4'
  
  with open(path,'wb') as fp:
    fp.write(video_data)
  print(dic['name']+'下載成功')

def main():  
  # web_url:梨視頻官網
  web_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/88.0.4324.96 Safari/537.36 Edg/88.0.705.56'
    }
  
  # web_page_tex:官網頁面
  web_page_text = requests.get(url = web_url,headers = headers).text
  
  tree = etree.HTML(web_page_text)
  
  # 解析梨視頻官網“生活欄”中的所有li標簽,遍歷li標簽,提取視頻的url
  li_list = tree.xpath('//*[@id="listvideoListUl"]/li')
  rea_urls=[]
  for li in li_list:
     # video_name獲取視頻的名稱
    video_name = li.xpath('./div/a/div[2]/text()')[0]+'.mp4'
    
    # 加上'https://www.pearvideo.com/'得到完整的video_url
    video_url = 'https://www.pearvideo.com/'+li.xpath("./div/a/@href")[0]
    
    # 通過官網界面提取的url,并不是真正的url,
    # 因為MP4的視頻是動態加載出來的,所以通過ajax請求獲取視頻的真實網址
    # 但是通過分析發現,ajax請求獲取的網址是一個偽網址,和真實網址有區別(cont...)
      ##真地址:https://video.pearvideo.com/mp4/third/20210208/cont-1719874-15690592-205957-ld.mp4
      ##                          1719874
      ##偽地址:https://video.pearvideo.com/mp4/third/20210208/1612867876612-15690592-205957-ld.mp4


    # 通過得到的video_url可以分析到 真假網址 不同的細節之處--countId
    # 通過ajax請求向video_url發起get請求,需要加countId和mrd參數
    # 分析video_url得到countId,mrd是一個隨機小樹
    countId = video_url.split("/")[-1].split("_")[1]
    mrd = random.random()
    
    # 加'Referer'參數,否則會顯示該視頻已下架了
    headers = {
      'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56',
      'Referer': 'https://www.pearvideo.com/video_' + countId
      }
    ajax_url = 'https://www.pearvideo.com/videoStatus.jsp'
    
    # 利用ajax請求獲取偽地址
    # https://www.pearvideo.com/videoStatus.jsp?contId=1719874mrd=0.7759942025851074
    params = {
        'contId': str(countId),
        'mrd': str(mrd)
      }
    
    # 通過ajax請求,發起get請求得到一個json串
    ajax_json = requests.get(url = ajax_url,headers = headers,params = params).json()
    
    # 得到的是 假地址
    fake_url = ajax_json['videoInfo']['videos']['srcUrl']
    
    # 對假地址進行處理,并把剛才的countId組合起來
    fake_url_list = fake_url.split('/')
    end = fake_url_list.pop()  #刪除不必要的字符串
    end_list = end.split("-")
    end_url = ""  #end_url是一個結尾字符串
    for i in range(len(end_list)-1):
      end_url = end_url + "-"+ end_list[i+1]
    
    # 真實的地址,先用假地址,然后組合countId
    rea_url=""
    for element in fake_url_list:
      rea_url=rea_url+element+"/"
    rea_url=rea_url+"cont-"+str(countId) + end_url
    
    # print(rea_url)
    
    
    dic = {
        'url':rea_url,
        'name':video_name
      }
    rea_urls.append(dic)
    
  #print(rea_urls)
  pool = Pool(4)
  pool.map(get_video,rea_urls)
  pool.close()
  pool.join()
  
if __name__ == '__main__':
  main()

知識點擴展:

Python爬蟲下載視頻(梨視頻)

梨視頻示例:Ctrl+Alt+L格式化代碼

import re
import requests
import hashlib
import time
# print(respose.status_code)# 響應的狀態碼
# print(respose.content) #返回字節信息
# print(respose.text) #返回文本內容
 
mainurl = "https://www.pearvideo.com/"
videourl = "http://www.pearvideo.com/video_1499584"
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'Accept-Encoding':'gzip, deflate, sdch',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language':'zh-CN,zh;q=0.8',
  }
# 獲取視頻鏈接列表
def geturls(url):
  res=requests.get(url)
  urls=re.findall('class="vervideo-tbd".*?href="(.*?)" rel="external nofollow" ',res.text,re.S)
  urllist=[]
  for i in urls:
    prefix='https://www.pearvideo.com/'
    urllist.append(prefix+i)
  return urllist
# 獲取視頻鏈接并下載(寫入到硬盤)
def getvideo(url):
  res=requests.get(url,headers)
  mp4url=re.findall('srcUrl="(.*?\.mp4)"',res.text,re.S)[0]
  video=requests.get(mp4url)
  m = hashlib.md5()
  m.update(url.encode('utf-8'))
  m.update(str(time.time()).encode('utf-8'))
  filename = r'%s.mp4' % m.hexdigest()
  print(filename)
  with open("/home/tony/文檔/爬蟲視頻/%s.mp4"%filename,'wb') as f:
    f.write(video.content)
def main():
  video_urllist=geturls(mainurl)
  for i in video_urllist:
    getvideo(i)
if __name__=='__main__':
  main()

到此這篇關于python爬蟲線程池案例詳解(梨視頻短視頻爬取)的文章就介紹到這了,更多相關python爬蟲梨視頻短視頻爬取內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 線程池模塊之多線程操作代碼
  • Python爬蟲之線程池的使用
  • python線程池的四種好處總結
  • python線程池 ThreadPoolExecutor 的用法示例
  • 實例代碼講解Python 線程池
  • Python 如何創建一個線程池
  • python線程池如何使用
  • 解決python ThreadPoolExecutor 線程池中的異常捕獲問題
  • Python定時器線程池原理詳解
  • Python 使用threading+Queue實現線程池示例
  • Python線程池的正確使用方法

標簽:大慶 烏蘭察布 海南 哈爾濱 合肥 烏蘭察布 平頂山 郴州

巨人網絡通訊聲明:本文標題《python爬蟲線程池案例詳解(梨視頻短視頻爬取)》,本文關鍵詞  python,爬蟲,線程,池,案例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python爬蟲線程池案例詳解(梨視頻短視頻爬取)》相關的同類信息!
  • 本頁收集關于python爬蟲線程池案例詳解(梨視頻短視頻爬取)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人精品免费看| 欧美性色欧美a在线播放| 国产福利精品一区| 欧美电影影音先锋| 日韩影院免费视频| 欧美日韩精品一区二区| 一个色妞综合视频在线观看| 欧美性淫爽ww久久久久无| 亚洲精品福利视频网站| 欧美自拍丝袜亚洲| 日韩**一区毛片| 久久久www免费人成精品| 国产麻豆视频精品| 中文字幕免费观看一区| 91免费视频大全| 天堂成人国产精品一区| 久久婷婷一区二区三区| 高清av一区二区| 亚洲综合色网站| 日韩视频一区二区在线观看| 狠狠色综合播放一区二区| 国产精品大尺度| 欧美片在线播放| 国产精一区二区三区| 亚洲欧洲成人自拍| 日韩免费视频一区| 91色综合久久久久婷婷| 另类小说图片综合网| 亚洲欧洲av色图| 日韩欧美国产一二三区| 成人性视频免费网站| 午夜电影一区二区三区| 国产欧美在线观看一区| 欧美日韩一区二区三区视频| 韩国一区二区在线观看| 午夜伊人狠狠久久| 国产精品久久久久久久久动漫| 欧美午夜精品理论片a级按摩| 国产精品一区在线| 午夜在线成人av| 亚洲六月丁香色婷婷综合久久 | 亚洲国产一区视频| 欧美国产一区二区| 欧美一级日韩免费不卡| 91电影在线观看| 粗大黑人巨茎大战欧美成人| 午夜伦理一区二区| 亚洲欧美激情一区二区| 久久婷婷色综合| 日韩三级免费观看| 欧美日韩极品在线观看一区| 99riav一区二区三区| 夫妻av一区二区| 国产精品亚洲第一区在线暖暖韩国| 视频一区视频二区中文字幕| 一级精品视频在线观看宜春院| 国产精品国产三级国产普通话99| 久久精品这里都是精品| 精品国产乱码久久久久久久久| 欧美日韩激情一区二区三区| 欧美午夜精品一区二区蜜桃| 欧美在线观看视频一区二区| 91久久香蕉国产日韩欧美9色| 成年人网站91| 99久久精品久久久久久清纯| 99久久精品费精品国产一区二区| 菠萝蜜视频在线观看一区| 国产毛片精品国产一区二区三区| 国产乱码精品一区二区三区av| 国产精品一级二级三级| 成人少妇影院yyyy| 99久久精品免费看国产免费软件| 成人免费高清视频在线观看| 91女厕偷拍女厕偷拍高清| 在线日韩国产精品| 欧美日本韩国一区二区三区视频| 91.xcao| 日韩一区二区电影| 久久九九影视网| 亚洲欧美一区二区在线观看| 亚洲欧美另类综合偷拍| 天天色综合成人网| 激情综合网av| 99久久伊人久久99| 欧美人成免费网站| 久久久久九九视频| 中文字幕一区不卡| 美女免费视频一区| 夫妻av一区二区| 欧美日韩免费观看一区二区三区| 日韩欧美中文一区| 中文字幕一区三区| 亚洲va韩国va欧美va| 韩国精品在线观看| www.欧美色图| 欧美军同video69gay| 日韩三级高清在线| 亚洲女同女同女同女同女同69| 婷婷六月综合网| 成人免费视频网站在线观看| 欧美日韩1区2区| 最近日韩中文字幕| 老司机精品视频导航| 成人免费黄色大片| 日韩美女一区二区三区四区| 亚洲欧美激情在线| 国产白丝精品91爽爽久久| 色呦呦日韩精品| 亚洲国产高清不卡| 免费成人深夜小野草| 色哟哟国产精品| 国产精品美女久久久久久| 蜜桃视频一区二区| 精品视频在线免费观看| 国产精品美女久久久久av爽李琼| 另类综合日韩欧美亚洲| 欧美日韩精品欧美日韩精品| 综合电影一区二区三区| 国产一区二区三区不卡在线观看 | 日本欧美一区二区三区乱码 | 成人免费毛片嘿嘿连载视频| 欧美一级欧美三级在线观看| 亚洲精品亚洲人成人网| 韩国av一区二区三区四区| 欧美男女性生活在线直播观看| 国产精品夫妻自拍| 成人污污视频在线观看| 久久亚洲综合色一区二区三区| 午夜视频在线观看一区二区三区| 97久久人人超碰| 国产精品午夜久久| 国产成人日日夜夜| 国产亚洲精品久| 国产一区二区网址| 久久久亚洲综合| 久久99这里只有精品| 欧美浪妇xxxx高跟鞋交| 亚洲风情在线资源站| 在线一区二区观看| 一区二区三区不卡在线观看| 99国产精品久久久久久久久久久| 国产日韩精品一区二区浪潮av| 秋霞午夜av一区二区三区| 欧美中文字幕一区二区三区亚洲| 亚洲四区在线观看| 在线观看视频91| 日韩精品国产欧美| 日韩一区二区在线播放| 另类小说图片综合网| 久久久精品欧美丰满| 成人av综合在线| 国产嫩草影院久久久久| 成人av资源站| 亚洲欧美福利一区二区| 欧美亚洲国产怡红院影院| 亚洲成人777| 6080yy午夜一二三区久久| 青青草国产成人av片免费| 久久久久久97三级| 色天使久久综合网天天| 亚洲免费观看高清完整版在线| 91福利视频网站| 石原莉奈在线亚洲二区| www国产精品av| 91蝌蚪国产九色| 日韩主播视频在线| 国产欧美日产一区| 日本丶国产丶欧美色综合| 奇米色一区二区| 国产精品久99| 日韩一区二区麻豆国产| 97久久超碰国产精品电影| 男女性色大片免费观看一区二区| 国产精品欧美经典| 日韩一区二区在线播放| 91无套直看片红桃| 狠狠久久亚洲欧美| 一区二区三区四区在线| 国产日韩成人精品| 欧美一区二区三区白人| av激情亚洲男人天堂| 三级在线观看一区二区 | 精品影院一区二区久久久| 国产精品久久久久永久免费观看| 欧美日韩成人综合| 成人性生交大合| 久久国产麻豆精品| 夜夜揉揉日日人人青青一国产精品| 欧美tk—视频vk| 欧美精品一级二级| 99视频一区二区三区| 紧缚奴在线一区二区三区| 日韩精品乱码免费| 亚洲成人福利片| 一区二区三区成人在线视频| 中文字幕av一区二区三区免费看| 欧美大片一区二区| 欧美一区二区二区| 在线成人免费观看| 欧美人与z0zoxxxx视频|