我用Python爬取了女神視界,爬蟲之路永無止境【內附源碼】


我發現抖音上很多小姐姐就拍個跳舞的視頻就火了,大家是沖着舞蹈水平去的嗎,都是沖着顏值身材去的,能刷到這篇文章的都是lsp了,我就跟大家不一樣了,一個個刷太麻煩了,我直接爬下來看個夠,先隨意展示兩個。

 

 

采集目標

爬取目標:女神世界

image.png

效果展示

 

工具使用

使用環境:Python3.7 工具:pycharm 第三方庫:requests, re, pyquery

爬蟲思路:

  1. 獲取的是視頻數據 (16進制字節)

  2. 在這個頁面沒有視頻地址 需要進去詳情頁 所有需要從 視頻播放頁開始抓取

使用快捷鍵 F12 進入開發者控制台:

234.png

先不急, 找到 視頻地址 去搜索他 看看在哪里有包含:

345.png

456.png

定位他 發現是靜態頁面返回的數據:

567.png

上代碼:

def Tools(url):# 封裝一個工具函數 用來做請求的   headers = {       'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52'   }   response = requests.get(url, headers=headers)   return response url = 'https://www.520mmtv.com/9614.html' response = Tools(url).text video_url = re.findall(r'url: "(.*?)",', response)[0] # 正則表達式提取 視頻地址 video_content = Tools(video_url).content # 視頻地址存儲 需要在代碼同路徑 手動創建 短視頻文件夾 with open('./短視頻/123.mp4', 'ab') as f:   f.write(video_content) ​ # 下載了一個

678.png

789.png

 

def main():   url = 'https://www.520mmtv.com/hd/rewu.html'   response = Tools(url).text   doc = pq(response) # 創建pyquery對象 注意根據css的 class 類選擇 和id選擇器進行數據提取   i_list = doc('.i_list.list_n2.cxudy-list-formatvideo a').items() # .類選擇器 中間有空格的 記得替換成.   meta_title = doc('.meta-title').items() # 標題   for i, t in zip(i_list, meta_title):       href = i.attr('href')       Play(t.text(), href)

全部代碼:

import requests import re from pyquery import PyQuery as pq def Tools(url):   headers = {       'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52'   }   response = requests.get(url, headers=headers)   return response def Play(title, url):   # url = 'https://www.520mmtv.com/9614.html'   response = Tools(url).text   video_url = re.findall(r'url: "(.*?)",', response)[0]   video_content = Tools(video_url).content   with open('./短視頻/{}.mp4'.format(title), 'ab') as f:       f.write(video_content)       print('{}下載完成....'.format(title)) def main():   url = 'https://www.520mmtv.com/hd/rewu.html'   response = Tools(url).text   doc = pq(response) # 創建pyquery對象 注意根據css的 class 類選擇 和id選擇器進行數據提取   i_list = doc('.meta-title').items() # .類選擇器 中間有空格的 記得替換成.   meta_title = doc('.meta-title').items() # 標題   for i, t in zip(i_list, meta_title):       href = i.attr('href')       Play(t.text(), href) if __name__ == '__main__':   main()

下載比較慢網絡不好,你網快的話 ,就下載快。

效果:

8910.png

👇🏻 疑難解答可通過搜索下方獲取👇🏻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM