最近在研究Python爬蟲,順便爬了一下抖音上的視頻,找到了哥們喜歡的小姐姐居多,咱們給他爬下來吧.
最終爬取結果
好了廢話補多說了,上代碼!
1 #https://www.iesdouyin.com/aweme/v1/aweme/favorite/?user_id=86371592618 2 #&count=21&max_cursor=0&aid=1128&_signature=fBZqMxAcIH.WOSqz4s5eTHwWai&dytk=6849c66ff2a629554679fe#e4ad1343a5 3 #分析url https://www.iesdouyin.com/share/user/86371592618 4 #最終獲取用戶喜歡 5 import requests 6 7 url="https://www.iesdouyin.com/share/user/86371592618" 8 #抖音本身反爬蟲措施 9 headers={ 10 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36' 11 } 12 #獲得dytk 13 reponse=requests.get(url,headers=headers) 14 reponse.encoding='utf-8' 15 #print(reponse.text) 16 #獲得dytk 通過正則進行篩選 17 import re 18 dytk=re.search("dytk: '(.*?)'",reponse.text).group(1) 19 print(dytk) 20 21 #組裝數據 22 params={ 23 'user_id':'86371592618', 24 'count':'21', 25 'max_cursor': '0', 26 'aid': '1128', 27 'dytk': dytk 28 } 29 30 aweme_list=[] 31 def get_favor_video(): 32 #引用全局變量 33 global aweme_list 34 while True: 35 # 請求數據 36 furl = "https://www.iesdouyin.com/aweme/v1/aweme/favorite/" 37 jsonstr = requests.get(furl, params=params, headers=headers).json() 38 print(jsonstr) 39 # 多次請求會出現正確數據 40 #修改全局變量的值 41 aweme_list = jsonstr.get('aweme_list') 42 print(aweme_list) 43 if len(aweme_list)!=0: 44 break 45 46 get_favor_video() 47 48 #進行下一步解析 49 #拼接視頻地址 50 for item in aweme_list: 51 #讀取視頻uri 52 video_uri=item['video']['play_addr']['uri'] 53 #拼接視頻地址 54 video="https://aweme.snssdk.com/aweme/v1/playwm/?video_id="+video_uri 55 #下載視頻 56 #讀取視頻名稱 57 title=item['share_info']['share_desc'] 58 #寫入視頻 59 mp4=requests.get(video,headers=headers,stream=True).content 60 open('F:/PythonWork/test/video/' + title+'.mp4', 'wb').write(mp4) 61 print("下載完成")
個人博客地址 http://zweice.com 喜歡的支持下了~