最近在研究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 喜欢的支持下了~