好久不見了,今天給大家整點福利!
先上一個截圖鎮鎮場子!
兄弟們學Python如果不是為了爬小姐姐,那將毫無意義!
而且爬圖片有什么意思,咱們要爬就爬視頻,話不多說,開整!
1、動態數據抓包演示
2、json數據解析方法
3、視頻數據保存
這是今天的大概方法,給大家介紹一下爬蟲項目抓取的一般策略(步驟)
1、找數據對應的地址<鏈接地址>
2、發送地址請求
3、數據提取(解析)<提取想要的數據>
4、數據保存
頁面加載形式
ajax異步加載技術(前端技術)
在不需要加載整個頁面的情況下, 對頁面實現局部刷新
代碼不多,其實挺簡單。
用到的模塊
import requests # 數據請求模塊, 第三方模塊
import pprint # 格式化輸出模塊
import re # 正則表達式模塊, 匹配\查詢, 替換字符串,
匹配非法字符, 替換
def change_title(title): pattern = re.compile('[\\\/\:\*\?\"\<\>\|]') new_title = re.sub(pattern, '_', title) return new_title
f 正在抓取第{page}頁數據
for page in range(2, 11): print
1、找數據對應的地址<鏈接地址>
1 url = f'https://v.6.cn/minivideo/getMiniVideoList.php?act=recommend&page={page}&pagesize=30'
瀏覽器的身份標識 host 域名 referer 防盜鏈<標識你是哪里來的> origin 資源的起始地址 cookies 用戶身份標識。
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
2、發送地址請求
response = requests.get(url=url, headers=headers)
json_data = response.json()
3、數據提取(解析)<提取想要的數據>
data_list = json_data['content']['list'] for data in data_list: video_title = data['title'] + '.mp4' # 視頻的標題(文明名) 尾綴 avi rmvb flv video_url = data['playurl'] # 視頻的地址 # print(video_title, video_url)
請求視頻地址數據 視頻 圖片 音頻 都是二進制
1 print('正在下載:', video_title) 2 video_data = requests.get(url=video_url, headers=headers).content # 視頻數據 3 4 new_title = change_title(video_title)
4、數據保存
1 with open('video\\' + new_title, mode='wb') as f: 2 f.write(video_data) 3 print('下載完成:', video_title + '\n')
好了,是真的簡單,就這幾行代碼,模塊沒安裝的話,先把模塊安裝一下。
安裝方法:win+r 打開運行框,輸入cmd 打開命令提示符窗口,pip install ***(***改成你要安裝的的模塊名)
最后給你們看下我的硬盤裝滿了沒有,免得說我欺騙感情,我爬的都是正經的小姐姐,不要罵我,不正經的咱也過不了審,建議各位也不要爬不正經的,身體要緊!
記得點贊關注,不然下次我都沒動力更新這種福利了~