Python爬⾍系列之抖⾳⽹页版_signature算法
# Python爬⾍系列之抖⾳⽹页版_signature算法
# 请扫描下⽅⼆维码
> 代码仅供学习交流,请勿⽤于⾮法⽤途
## 直接上代码
```javascript
import requests
import execjs
from sign import sign
retry = 3
timeout = 30
headers = {
"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Mobile Safari/537.36",
}
def doRequest(url, param):
'''
发起请求
'''
for i in range(retry):
try:
param = sign(param)
url += param
resp = (url, headers=headers, timeout=timeout)
return resp.json
except Exception as e:
pass
def userProfile(sec_user_id):
'''
获取⽤户详细信息
'''
url = "www.douyin/aweme/v1/web/user/profile/other/"
params = {
"device_platform": "webapp",
"aid": "6383",
"channel": "channel_pc_web",
"publish_video_strategy_type": "2",
"source": "channel_pc_web",
"sec_user_id": sec_user_id,
"version_code": "160100",
"version_name": "16.1.0",
"cookie_enabled": "true",
"screen_width": "1920",
"screen_height": "1080",
"browser_language": "zh-CN",
"browser_platform": "Win32",
"browser_name": "Mozilla",
"browser_version": "5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",
"browser_online": "true",
}
res = doRequest(url, params)
print(res)
def getRecommIndexVideo():
'''
获取⾸页推荐视频
'''
url = "www.douyin/aweme/v1/web/channel/feed/"
params = {
"device_platform": "webapp",
"aid": 6383,
"channel": "channel_pc_web",
"tag_id": "",
"count": 10,
"version_code": "160100",
"version_name": "16.1.0",
"cookie_enabled": true,
"screen_width": 1280,
"screen_height": 720,
"browser_language": "zh-CN",
"browser_platform": "Win32",
"browser_name": "Mozilla",
"browser_version": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36",
"browser_online": true
}
res = doRequest(url, params)
print(res)
def searchVideo(keyword):
'''
定制网站
视频搜索
'''
url = "www.douyin/aweme/v1/web/search/item/"
params = {
"device_platform": "webapp",
"aid": 6383,
"channel": "channel_pc_web",
"search_channel": "aweme_video_web",
"sort_type": "0",
"publish_time": "0",
"keyword": keyword,
"search_source": "normal_search",
"query_correct_type": "1",
"is_filter_search": "0",
"offset": 0,
"count": 24,
"version_code": "160100",
"version_name": "16.1.0",
"cookie_enabled": true,
"screen_width": 1280,
"screen_height": 720,
"browser_language": "zh-CN",
"browser_platform": "Win32",
"browser_name": "Mozilla",
"browser_version": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36",
"browser_online": true
}
res = doRequest(url, params)
print(res)
if __name__ == '__main__':
# ⽤户详细信息(请求需要带cookie)
# userProfile'MS4wLjABAAAAmtr5MWCsxiV7NZMCuXkoCHKXtRyRlomFTVgw8h3sJNo')
# ⾸页推荐视频
# getRecommIndexVideo()
# 搜索视频
# searchVideo("抖⾳")
....
.....
if __name__ == '__main__':    main()
```