mirror of
https://github.com/imgyh/tiktok.git
synced 2025-04-06 08:15:46 +08:00
fix(tiktok): 增加请求重试机制
This commit is contained in:
parent
59b24472c7
commit
8f6c1ea70d
45
TikTok.py
45
TikTok.py
@ -148,14 +148,19 @@ class TikTok(object):
|
|||||||
def getAwemeInfoApi(self, aweme_id):
|
def getAwemeInfoApi(self, aweme_id):
|
||||||
if aweme_id is None:
|
if aweme_id is None:
|
||||||
return None
|
return None
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
jx_url = self.urls.POST_DETAIL + self.utils.getXbogus(
|
jx_url = self.urls.POST_DETAIL + self.utils.getXbogus(
|
||||||
url=f'aweme_id={aweme_id}&aid=1128&version_name=23.5.0&device_platform=android&os_version=2333')
|
url=f'aweme_id={aweme_id}&aid=1128&version_name=23.5.0&device_platform=android&os_version=2333')
|
||||||
|
|
||||||
raw = requests.get(url=jx_url, headers=self.headers).text
|
raw = requests.get(url=jx_url, headers=self.headers).text
|
||||||
datadict = json.loads(raw)
|
datadict = json.loads(raw)
|
||||||
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# 清空self.awemeDict
|
# 清空self.awemeDict
|
||||||
@ -192,7 +197,7 @@ class TikTok(object):
|
|||||||
|
|
||||||
raw = requests.get(url=jx_url, headers=self.headers).text
|
raw = requests.get(url=jx_url, headers=self.headers).text
|
||||||
datadict = json.loads(raw)
|
datadict = json.loads(raw)
|
||||||
if datadict is not None and datadict['aweme_detail'] is not None and datadict["status_code"] == 0:
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
end = time.time() # 结束时间
|
end = time.time() # 结束时间
|
||||||
@ -226,6 +231,8 @@ class TikTok(object):
|
|||||||
|
|
||||||
awemeList = []
|
awemeList = []
|
||||||
|
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
if mode == "post":
|
if mode == "post":
|
||||||
url = self.urls.USER_POST + self.utils.getXbogus(
|
url = self.urls.USER_POST + self.utils.getXbogus(
|
||||||
@ -238,8 +245,11 @@ class TikTok(object):
|
|||||||
|
|
||||||
res = requests.get(url=url, headers=self.headers)
|
res = requests.get(url=url, headers=self.headers)
|
||||||
datadict = json.loads(res.text)
|
datadict = json.loads(res.text)
|
||||||
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
for aweme in datadict["aweme_list"]:
|
for aweme in datadict["aweme_list"]:
|
||||||
@ -355,14 +365,19 @@ class TikTok(object):
|
|||||||
return awemeList
|
return awemeList
|
||||||
|
|
||||||
def getLiveInfoApi(self, web_rid: str):
|
def getLiveInfoApi(self, web_rid: str):
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
live_api = self.urls.LIVE + self.utils.getXbogus(
|
live_api = self.urls.LIVE + self.utils.getXbogus(
|
||||||
url=f'aid=6383&device_platform=web&web_rid={web_rid}')
|
url=f'aid=6383&device_platform=web&web_rid={web_rid}')
|
||||||
|
|
||||||
response = requests.get(live_api, headers=self.headers)
|
response = requests.get(live_api, headers=self.headers)
|
||||||
live_json = json.loads(response.text)
|
live_json = json.loads(response.text)
|
||||||
|
if live_json != {} and live_json['status_code'] == 0:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# 清空字典
|
# 清空字典
|
||||||
@ -513,14 +528,19 @@ class TikTok(object):
|
|||||||
|
|
||||||
awemeList = []
|
awemeList = []
|
||||||
|
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
url = self.urls.USER_MIX + self.utils.getXbogus(
|
url = self.urls.USER_MIX + self.utils.getXbogus(
|
||||||
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&mix_id={mix_id}&cursor={cursor}&count={count}')
|
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&mix_id={mix_id}&cursor={cursor}&count={count}')
|
||||||
|
|
||||||
res = requests.get(url=url, headers=self.headers)
|
res = requests.get(url=url, headers=self.headers)
|
||||||
datadict = json.loads(res.text)
|
datadict = json.loads(res.text)
|
||||||
|
if datadict is not None:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@ -635,13 +655,19 @@ class TikTok(object):
|
|||||||
|
|
||||||
mixIdlist = []
|
mixIdlist = []
|
||||||
|
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
url = self.urls.USER_MIX_LIST + self.utils.getXbogus(
|
url = self.urls.USER_MIX_LIST + self.utils.getXbogus(
|
||||||
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&sec_user_id={sec_uid}&count={count}&cursor={cursor}')
|
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&sec_user_id={sec_uid}&count={count}&cursor={cursor}')
|
||||||
|
|
||||||
res = requests.get(url=url, headers=self.headers)
|
res = requests.get(url=url, headers=self.headers)
|
||||||
datadict = json.loads(res.text)
|
datadict = json.loads(res.text)
|
||||||
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
for mix in datadict["mix_infos"]:
|
for mix in datadict["mix_infos"]:
|
||||||
@ -720,14 +746,19 @@ class TikTok(object):
|
|||||||
|
|
||||||
awemeList = []
|
awemeList = []
|
||||||
|
|
||||||
|
start = time.time() # 开始时间
|
||||||
|
while True:
|
||||||
try:
|
try:
|
||||||
url = self.urls.MUSIC + self.utils.getXbogus(
|
url = self.urls.MUSIC + self.utils.getXbogus(
|
||||||
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&music_id={music_id}&cursor={cursor}&count={count}')
|
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&music_id={music_id}&cursor={cursor}&count={count}')
|
||||||
|
|
||||||
res = requests.get(url=url, headers=self.headers)
|
res = requests.get(url=url, headers=self.headers)
|
||||||
datadict = json.loads(res.text)
|
datadict = json.loads(res.text)
|
||||||
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
end = time.time() # 结束时间
|
||||||
|
if end - start > self.timeout:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@ -781,7 +812,7 @@ class TikTok(object):
|
|||||||
datadict = json.loads(res.text)
|
datadict = json.loads(res.text)
|
||||||
print('[ 提示 ]:本次请求返回 ' + str(len(datadict["aweme_list"])) + ' 条数据\r')
|
print('[ 提示 ]:本次请求返回 ' + str(len(datadict["aweme_list"])) + ' 条数据\r')
|
||||||
# print('[ 提示 ]:开始对 ' + str(len(datadict["aweme_list"])) + ' 条数据请求作品详情\r\n')
|
# print('[ 提示 ]:开始对 ' + str(len(datadict["aweme_list"])) + ' 条数据请求作品详情\r\n')
|
||||||
if datadict is not None:
|
if datadict is not None and datadict["status_code"] == 0:
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
end = time.time() # 结束时间
|
end = time.time() # 结束时间
|
||||||
|
Loading…
x
Reference in New Issue
Block a user