<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用python爬蟲 爬取梨視頻并下載!

          共 1514字,需瀏覽 4分鐘

           ·

          2021-01-17 11:10

          引言

          利用python爬蟲進行視頻下載,本次文章將對梨視頻網(wǎng)站的視頻進行爬取,由于爬蟲本身介于一個灰色與敏感的地帶,所以建議大家在使用爬蟲的時候先對網(wǎng)站的限制了解。在此之前作者已經(jīng)了解,可放心使用。

          爬取流程分析

          第一步:分析url

          這次是對梨視頻網(wǎng)站的視頻進行爬取(https://www.pearvideo.com/)

          在此頁面下有許多小視頻,隨便點擊一個查看視頻網(wǎng)頁的url(https://www.pearvideo.com/video_1713546)


          網(wǎng)站視頻具有時效性,依據(jù)網(wǎng)頁更新即可。在此頁面下按F12,查看網(wǎng)頁代碼,會發(fā)現(xiàn)找不到視頻的url。但點擊播放,視頻的url就彈出來了(https://video.pearvideo.com/mp4/adshort/20201226/cont-1713546-15547701_adpkg-ad_hd.mp4)自此url也就找出來了。

          第二步:對url發(fā)起get請求

          由于這里出現(xiàn)三個url,在這里三個url都有所用處,詳見代碼。

          第三步:數(shù)據(jù)獲取

          有兩個,一個是視頻的url獲取,另外一個是下載視頻的url獲取。

          第四步:保存數(shù)據(jù)

          在這里我們可以直接使用python文件操作的方式進行存儲,直接命名帶后綴MP4即可。

          代碼實現(xiàn)

          終于到了激動人心的時刻了。老實說,當晚爬出視頻的時候確實挺開心的,本人還是python爬蟲的初學者,實屬不易。

          第一步:導入包

          import requests
          import re
          from bs4 import BeautifulSoup
          from selenium import webdriver

          第二步:對url發(fā)起get請求

          def get_url(url,i):
          txt = requests.get(url).text
          soup = BeautifulSoup(txt, 'lxml')
          txt1 = soup.find_all('a')
          con = re.findall(r', str(txt1))
          url1 = url + con[i]
          print(url1)
          return url1

          解釋一下,參數(shù)url是指視頻網(wǎng)站url,i是指第幾個視頻。而代碼的意思就是通過獲取視頻的代號編碼,然后與url進行拼接形成視頻url。之前分析url也能看出,視頻url與網(wǎng)站的url也就相差了video-xxxxx。

          第三步:獲取視頻數(shù)據(jù)

          def get_mp4(url1):
          browser = webdriver.Chrome('chromedriver')
          browser.get(url1)
          button = browser.find_element_by_tag_name('i')
          button.click()
          soup = BeautifulSoup(browser.page_source, 'lxml')
          sp1 = soup.find_all('video')
          mp4_url = re.findall(r'',
          str(sp1))

          mp4 = requests.get(mp4_url[0])
          return mp4.content

          由于在之前查看開發(fā)者工具時,發(fā)現(xiàn)需要點擊播放才可以顯示下載視頻的url,所以使用模擬瀏覽器的方法。當然如果你有更好的方法可以留言給我,非常感謝。自此視頻數(shù)據(jù)已獲取完畢。

          保存視頻

          url1 = get_url(url,1)
          with open('second.mp4', 'wb') as f:
          mp4 = get_mp4(url1)
          f.write(mp4)

          在這里文件的格式可以看到是使用了‘wb’的方法進行存儲。運行快慢視網(wǎng)速快慢而定。

          結(jié)果

          掃下方二維碼加老師微信

          或是搜索老師微信號:XTUOL1988【切記備注學習Python】

          領取Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能等學習教程。帶你從零基礎系統(tǒng)性的學好Python!

          也可以加老師建的Python技術學習教程qq裙:245345507二者加一個就可以!

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          萬水千山總是情,點個【在看】行不行

          *聲明:本文于網(wǎng)絡整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)事宜

          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷免费在线观看 | 亚洲精品电影 | 欧美亚洲成人网站 | 国产va | 三级久久久久 |