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

采集目標
爬取目標:女神世界

效果展示

工具使用
使用環境:Python3.7 工具:pycharm 第三方庫:requests, re, pyquery
爬蟲思路:
- 獲取的是視頻資料 (16進制位元組)
- 在這個頁面沒有視頻地址 需要進去詳情頁 所有需要從 視頻播放頁開始抓取
使用快捷鍵 F12 進入開發者控制臺:

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


定位他 發現是靜態頁面回傳的資料:

上代碼:
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)
?
# 下載了一個




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()
下載比較慢網路不好,你網快的話 ,就下載快,
效果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/354650.html
標籤:python
上一篇:同一個python代碼繪制多種不同櫻花樹,你喜歡哪一種?
下一篇:WPF設計器不會自動加載
