最新PYTHON批量下载快手个人主页短视频代码
生活随笔
收集整理的這篇文章主要介紹了
最新PYTHON批量下载快手个人主页短视频代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from os.path import join
import time
import requests
import json
import re
dir_name = 'D:\\python\\快手\\python_快手video'
#響應頭,整個復制之后,利用ctrl+r勾選正則表達式來替換(上面原來的(.*?): (.*) (冒號后面的空格)下面替換的格式 ‘$1': '$2',(冒號后面的空格,最后加逗號分隔)
headers = {'accept': '*/*','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Content-Length': '1380','content-type': 'application/json','Cookie': 'kpf=PC_WEB; kpn=KUAISHOU_VISION; clientid=3; did=web_cfd3c9bae34dfaa87ed904d715d11686; didv=1665198538000; client_key=65890b29; ktrace-context=1|MS43NjQ1ODM2OTgyODY2OTgyLjUyOTQyMTgzLjE2NjUxOTkxMjgyNzQuMjk0NzY=|MS43NjQ1ODM2OTgyODY2OTgyLjIyODM3MjE1LjE2NjUxOTkxMjgyNzQuMjk0Nzc=|0|graphql-server|webservice|false|NA','Host': 'www.kuaishou.com','Origin': 'https://www.kuaishou.com','Referer': 'https://www.kuaishou.com/profile/3xd7jnag3t26gvq','sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
}
baseurl = "https://www.kuaishou.com/graphql"
data = {"operationName": "visionProfilePhotoList","variables": {"userId": "3xd7jnag3t26gvq","pcursor": '',"page": "profile"},"query": "fragment photoContent on PhotoEntity {\n id\n duration\n caption\n originCaption\n likeCount\n viewCount\n realLikeCount\n coverUrl\n photoUrl\n photoH265Url\n manifest\n manifestH265\n videoResource\n coverUrls {\n url\n __typename\n }\n timestamp\n expTag\n animatedCoverUrl\n distance\n videoRatio\n liked\n stereoType\n profileUserTopPhoto\n musicBlocked\n __typename\n}\n\nfragment feedContent on Feed {\n type\n author {\n id\n name\n headerUrl\n following\n headerUrls {\n url\n __typename\n }\n __typename\n }\n photo {\n ...photoContent\n __typename\n }\n canAddComment\n llsid\n status\n currentPcursor\n tags {\n type\n name\n __typename\n }\n __typename\n}\n\nquery visionProfilePhotoList($pcursor: String, $userId: String, $page: String, $webPageArea: String) {\n visionProfilePhotoList(pcursor: $pcursor, userId: $userId, page: $page, webPageArea: $webPageArea) {\n result\n llsid\n webPageArea\n feeds {\n ...feedContent\n __typename\n }\n hostName\n pcursor\n __typename\n }\n}\n"
} #"pcursor"控制翻頁(手動在網頁中下滑之后會出現兩個數據包)【這里要是字符類型】
#頁面搜索視頻名字,然后找到抓包,再找響應網址
baseurl = "https://www.kuaishou.com/graphql"
#headers有一個 'content-type': 'application/json', 這個定義了data(這里類似賬號密碼之類的數據),要求data是json字符串
data = json.dumps(data) #將data由字典類型轉換為字符串類型
time.sleep(2)
#發送請求,url:鏈接地址,headers:偽裝,data:查詢參數
request = requests.post(url=baseurl,headers=headers,data=data)
response = request.json()
# pprint.pprint(response)
##字典數據利用鍵來找值 {"鍵":"值"} |列表直接利用位置索引 [值][值] [0][1]
# title_list = response['data']['visionSearchPhoto']['feeds'][5]['photo']['caption']
# print(title_list)
# url_list = response['data']['visionSearchPhoto']['feeds'][5]['photo']['photoUrl']
# print(url_list)
feeds_list = response['data']['visionProfilePhotoList']['feeds']
# print(feeds_list)
k = 0
for feeds in feeds_list:k = k +1#每個feeds是feeds_list列表當中的一個個字典# print(feeds) #利用這條可以把每個視頻的信息都分別打印出來title = feeds['photo']['caption']list = feeds['photo']['photoUrl']
# #下面這個打印出來把所有類似的數據都放在了同一個列表當中,與下載無關
# # titles = [i['photo']['caption']for i in feeds_list]
# # print(titles)
# # list = [i['photo']['photoUrl']for i in feeds_list]
# # print(list)##保存視頻 【搜索關鍵詞下載視頻/知道一個用戶的視頻/翻頁下載】new_title = re.sub(r'[\/:*?"<>|\n]','_',title) #在windows操作系統當中,必須是沒有一些特殊字符 #標題過長可以替換(字符串的切片)當>=256#發送網絡請求,請求每一個視頻地址,獲取視頻二進制數據mp4_data = requests.get(list).contentfilename = '%s.mp4'% str(k)with open(join(dir_name,filename),mode='wb') as f:f.write(mp4_data)print(new_title,"下載完成")
# mp4_data.close()
總結
以上是生活随笔為你收集整理的最新PYTHON批量下载快手个人主页短视频代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发人员必学!java工程师个人简历模板
- 下一篇: 成为一名初级游戏策划