Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
doudian-py
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
baiquan
doudian-py
Commits
8d390169
Commit
8d390169
authored
Jul 15, 2025
by
baiquan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化上传图片与视频,添加关闭所有hub浏览器方法
parent
128bb4f2
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
52 additions
and
22 deletions
+52
-22
service/hub_.py
+16
-0
service/upload_image_and_video.py
+19
-9
service/upload_video.py
+3
-2
shop.py
+7
-5
utils/common.py
+7
-6
No files found.
service/hub_.py
View file @
8d390169
...
...
@@ -123,6 +123,22 @@ async def checkBrowserStatus(browser_id: str = ""):
return
await
sendRequest
(
"POST"
,
url
=
url
,
json_data
=
data
)
async
def
closeAllBrowser
():
"""
关闭所有浏览器
:return:
"""
url
=
'/api/v1/browser/stop-all'
data
=
{
"clearOpening"
:
True
}
try
:
return
await
sendRequest
(
"POST"
,
url
=
url
,
json_data
=
data
)
except
Exception
as
e
:
logger
.
error
(
f
"关闭所有浏览器异常-->{e}"
)
if
__name__
==
'__main__'
:
# data = asyncio.run(envList({"containerName": "希音"}))
data
=
asyncio
.
run
(
openExe
())
...
...
service/upload_image_and_video.py
View file @
8d390169
...
...
@@ -139,10 +139,8 @@ async def uploadImageAndVideo(task: dict = None):
# 准备SKU图片上传
sku_image_list
=
[]
for
sku
in
skus
:
for
key
,
value
in
sku
.
items
():
sku_id
=
sku
.
get
(
'skuid'
)
if
isinstance
(
value
,
dict
):
img_url
=
value
.
get
(
'image'
)
sku_id
=
sku
.
get
(
'sku_id'
)
img_url
=
sku
.
get
(
'image'
)
if
img_url
:
# md5_key = hashlib.md5(img_url.encode()).hexdigest()
local_path
=
get_local_path
(
item_id
,
img_url
)
...
...
@@ -169,12 +167,13 @@ async def uploadImageAndVideo(task: dict = None):
description_list
.
append
({
md5_key
:
local_path
})
try
:
# 并行处理所有上传任务
sku_image_dict
,
image_dict
,
description_dict
,
video_dict
=
await
asyncio
.
gather
(
sku_image_dict
,
image_dict
,
description_dict
=
await
asyncio
.
gather
(
run_in_executor
(
upload_image_by_bytes
,
cookies
,
headers
,
proxies
,
sku_image_list
),
run_in_executor
(
upload_image_by_bytes
,
cookies
,
headers
,
proxies
,
image_list
),
run_in_executor
(
upload_image_by_bytes
,
cookies
,
headers
,
proxies
,
description_list
),
upload_videos
(
task
,
item_id
)
)
image_list
=
list
(
image_dict
.
values
())
video_dict
=
await
upload_videos
(
task
,
item_id
,
image_list
)
except
Exception
as
e
:
logger
.
error
(
f
"上传过程中发生错误: {str(e)}"
)
return
None
...
...
@@ -196,7 +195,7 @@ async def run_in_executor(func, *args):
return
await
loop
.
run_in_executor
(
None
,
func
,
*
args
)
async
def
upload_videos
(
task
:
dict
,
item_id
:
str
):
async
def
upload_videos
(
task
:
dict
,
item_id
:
str
,
customized_images
:
list
):
"""异步上传所有视频"""
video_dict
=
{}
video_tasks
=
[]
...
...
@@ -204,9 +203,12 @@ async def upload_videos(task: dict, item_id: str):
for
video_url
in
task
.
get
(
'video_list'
,
[]):
logger
.
info
(
f
"开始处理视频:{video_url}"
)
local_video_url
=
get_local_path
(
item_id
,
video_url
)
video_task
=
upload_single_video
(
task
.
copy
(),
local_video_url
,
video_url
)
video_task
=
upload_single_video
(
task
.
copy
(),
local_video_url
,
video_url
,
customized_images
)
video_tasks
.
append
(
video_task
)
# 并行执行所有视频上传任务
if
not
task
.
get
(
'video_list'
,
[]):
video_task
=
upload_single_video
(
task
.
copy
(),
""
,
""
,
customized_images
)
video_tasks
.
append
(
video_task
)
results
=
await
asyncio
.
gather
(
*
video_tasks
)
# 合并结果
...
...
@@ -217,11 +219,19 @@ async def upload_videos(task: dict, item_id: str):
return
video_dict
async
def
upload_single_video
(
task
:
dict
,
local_path
:
any
,
original_url
:
str
):
async
def
upload_single_video
(
task
:
dict
,
local_path
:
any
,
original_url
:
str
,
customized_images
:
list
):
"""上传单个视频"""
task
[
'file_path'
]
=
local_path
task
[
'video_url'
]
=
original_url
product_name
=
task
[
'title'
]
.
encode
(
'utf-8'
)
.
decode
(
'unicode_escape'
)
task
[
'generate_video_data'
]
=
{
"product_name"
:
product_name
,
"customized_images"
:
customized_images
}
if
original_url
:
md5_key
=
hashlib
.
md5
(
original_url
.
encode
())
.
hexdigest
()
else
:
md5_key
=
"generated_video"
try
:
result
=
await
run_in_executor
(
upload_video_with_multithreading
,
task
)
...
...
service/upload_video.py
View file @
8d390169
...
...
@@ -684,11 +684,12 @@ def prepare_video_file(task):
if
not
task
.
get
(
"file_path"
):
if
not
os
.
path
.
exists
(
VIDEO_PATH
):
os
.
makedirs
(
VIDEO_PATH
)
file_name
=
f
"{task['file_name']}"
if
not
task
.
get
(
"file_name"
):
raise
VideoError
(
"file_name is None"
)
file_name
=
task
[
'file_name'
]
file_path
=
os
.
path
.
join
(
VIDEO_PATH
,
file_name
)
else
:
file_path
=
task
.
get
(
"file_path"
)
if
not
os
.
path
.
exists
(
file_path
):
logger
.
info
(
f
"文件 {file_path} 不存在,开始下载"
)
download_video
(
task
[
'video_url'
],
file_path
,
headers
=
task
[
'headers'
])
...
...
shop.py
View file @
8d390169
...
...
@@ -3,7 +3,7 @@ import json
import
time
import
concurrent.futures
from
loguru
import
logger
from
service.hub_
import
closeBrowser
,
envList
,
exportCookie
from
service.hub_
import
closeBrowser
,
envList
,
exportCookie
,
closeAllBrowser
from
service.page_login
import
page_login
from
service.upload_image_and_video
import
uploadImageAndVideo
from
utils.common
import
callback_task
,
formatCallback
,
get_task
...
...
@@ -139,11 +139,13 @@ async def handle_task(task):
with
concurrent
.
futures
.
ThreadPoolExecutor
(
max_workers
=
INNER_MAX_WORKERS
)
as
inner_executor
:
future
=
inner_executor
.
submit
(
run_sync_shop
,
task
)
try
:
future
.
result
(
timeout
=
300
)
# 设置5
分钟超时
future
.
result
(
timeout
=
180
)
# 设置3
分钟超时
except
concurrent
.
futures
.
TimeoutError
:
logger
.
error
(
f
"同步店铺任务超时: {task}"
)
except
Exception
as
e
:
logger
.
error
(
f
"同步店铺任务异常: {e}"
)
finally
:
await
closeAllBrowser
()
elif
type_
==
2
:
# 上传图片和视频任务 - 使用线程池执行
with
concurrent
.
futures
.
ThreadPoolExecutor
(
max_workers
=
INNER_MAX_WORKERS
)
as
inner_executor
:
...
...
@@ -169,7 +171,7 @@ async def run():
# {"app_name": "admin", "type": 1, "browser_type": 1, "browser_id": "1180779018"},
# {"app_name": "admin", "type": 1, "browser_type": 1, "browser_id": "1180779004"},
# {"app_name": "admin", "type": 1, "browser_type": 1, "browser_id": "1180779061"},]}
tasks
=
{
"code"
:
0
,
"message"
:
"success"
,
"data"
:
{
"item_id"
:
921707219436
,
"headers"
:
{
"user-agent"
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6779.0 Safari/537.36"
,
"sec-ch-ua"
:
"Google Chrome
\"
;v=
\"
131
\"
,
\"
Chromium
\"
;v=
\"
131
\"
,
\"
Not_A Brand
\"
;v=
\"
24
\"
"
},
"cookie"
:
{
"gfkadpd"
:
"4272,23756"
,
"passport_csrf_token"
:
"085a146f3e5c7d6ffb291c1aa81f9a71"
,
"passport_csrf_token_default"
:
"085a146f3e5c7d6ffb291c1aa81f9a71"
,
"ttcid"
:
"53c81c77b3bb489d8e84e74c691a021215"
,
"s_v_web_id"
:
"verify_mcoicpk4_2db5c5bb_310b_79d4_f6ab_49a6ef264e36"
,
"gd_random"
:
"eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC4xOTIxMTQ1NTI3NDIzNDU4fQ==.inx0kgU3DeIysiYrTzVjrJ3hImpr9GRyY/JD5oCWoyQ="
,
"zsgw_business_data"
:
"
%7
B
%22
uuid
%22%3
A
%22
cb5919b0-458b-4624-8b98-d892792f45b9
%22%2
C
%22
platform
%22%3
A
%22
pc
%22%2
C
%22
source
%22%3
A
%22
seo.fxg.jinritemai.com
%22%7
D"
,
"ecom_gray_shop_id"
:
"225564417"
,
"HMACCOUNT"
:
"6BDCEA5FD75B2174"
,
"x-web-secsdk-uid"
:
"ba0eebd6-4bd8-48de-b5c2-8032db5e8e81"
,
"PIGEON_CID"
:
"7522394902744882724"
,
"SHOP_ID"
:
"225564417"
,
"_tea_utm_cache_472893"
:
"undefined"
,
"_tea_utm_cache_643623"
:
"undefined"
,
"Secure"
:
"True"
,
"gf_part_3164895"
:
"74"
,
"_shop_token_"
:
"ed474a2a302be0aff7eddac117584630"
,
"ffa_goods_ewid"
:
"027a8000ef7f24b9d22481d700a7eb34"
,
"ffa_goods_seraph_did"
:
"undefined"
,
"Hm_lvt_b6520b076191ab4b36812da4c90f7a5e"
:
"1751614184,1752025016"
,
"ttwid"
:
"1
%7
C5T5KdCu_h9A6pP4qtqJkuvnCdPsfIRAm_dESgkSngmw
%7
C1752230963
%7
Cd53db946aa81740ad6e6d58ff0088d40c3ea5d8b436d38413c46709cfcff0b01"
,
"tt_scid"
:
"2KhbBXGi8bq7NY4eEzJ5Ufm6FSnwaPn4YCYNBgBV.5o8p9.vxD3GDJ3vNHnJjomae74f"
,
"d_ticket_doudian"
:
"fdc963a28a3d01565c5cdd7c5ca9370589493"
,
"n_mh_doudian"
:
"9-mIeuD4wZnlYrrOvfzG3MuT6aQmCUtmr8FxV8Kl8xY"
,
"odin_tt"
:
"e6355d3676dde538ff181f527dc4c41eff64064ef8cad5dcc1025a0e4cb6c85c22670aa3949866ec315660abc92b616b2b91a2e1a8a22c932b76f80ecdb16664"
,
"passport_mfa_token"
:
"CjH6e8E1oe3y3s4Dnhr
%2
FwwzAVTZiA4ZF0NgsK5ukU9XG6f
%2
B4oIxVrT6I2159TRkWiJeaGkoKPAAAAAAAAAAAAABPOLzKSMDQhC8NS2qIXsj2pRnOTqs1KCiBjE
%2
BljrWpk1yLHjX5arEfMaaO0bHRcP57
%2
BhC7ufYNGPax0WwgAiIBA2h3AgA
%3
D"
,
"session_tlb_tag"
:
"sttt
%7
C10
%7
CABEYXGW9YgvKXr0ig8tAaP________-h9ea8ZAQgTyGsZJXe3JHrS14yvoUHqDuvWyWWQBfImjs
%3
D"
,
"sid_ucp_sso_v1_doudian"
:
"1.0.0-KGU0Y2RkNjIyODFjZjZiZDJlOTlmMGFhYThhN2M3MzUwMzliMjQ4Y2YKHwjHtKCqrKyYBBC72MPDBhiwISAMMPuoscEGOAFA6wcaAmhsIiA3ZGViOTY4MWM2YWY1MDczY2VhZTI2OThjMzUyNmMzZg"
,
"ssid_ucp_sso_v1_doudian"
:
"1.0.0-KGU0Y2RkNjIyODFjZjZiZDJlOTlmMGFhYThhN2M3MzUwMzliMjQ4Y2YKHwjHtKCqrKyYBBC72MPDBhiwISAMMPuoscEGOAFA6wcaAmhsIiA3ZGViOTY4MWM2YWY1MDczY2VhZTI2OThjMzUyNmMzZg"
,
"sso_uid_tt_doudian"
:
"233262f0e2201aebe809a7a97ecf022d"
,
"sso_uid_tt_ss_doudian"
:
"233262f0e2201aebe809a7a97ecf022d"
,
"toutiao_sso_user_doudian"
:
"7deb9681c6af5073ceae2698c3526c3f"
,
"toutiao_sso_user_ss_doudian"
:
"7deb9681c6af5073ceae2698c3526c3f"
,
"ucas_sso_c0_doudian"
:
"CkEKBTEuMC4wEKKIgbjlhru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIUwHgyZP-VYrNHnWycmKXWIA8Vg_4"
,
"ucas_sso_c0_ss_doudian"
:
"CkEKBTEuMC4wEKKIgbjlhru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIUwHgyZP-VYrNHnWycmKXWIA8Vg_4"
,
"ucas_c0"
:
"CkEKBTEuMC4wEKKIia7chru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIU6MBKgzZvfJFEpQfFPi2ecy1UGEQ"
,
"ucas_c0_ss"
:
"CkEKBTEuMC4wEKKIia7chru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIU6MBKgzZvfJFEpQfFPi2ecy1UGEQ"
,
"PHPSESSID"
:
"201b8255bfb1cf7538bb1d090332eef2"
,
"PHPSESSID_SS"
:
"201b8255bfb1cf7538bb1d090332eef2"
,
"is_staff_user"
:
"false"
,
"sessionid"
:
"0011185c65bd620bca5ebd2283cb4068"
,
"sessionid_ss"
:
"0011185c65bd620bca5ebd2283cb4068"
,
"sid_guard"
:
"0011185c65bd620bca5ebd2283cb4068
%7
C1752230990
%7
C5184000
%7
CTue
%2
C+09-Sep-2025+10
%3
A49
%3
A50+GMT"
,
"sid_tt"
:
"0011185c65bd620bca5ebd2283cb4068"
,
"sid_ucp_v1"
:
"1.0.0-KGFkNzFkNmYzODAwZGI5OGM0NGQ5NzA3M2QxNjAyMWM2Njc2N2I5MTgKGQjHtKCqrKyYBBDO2MPDBhiwISAMOAFA6wcaAmxmIiAwMDExMTg1YzY1YmQ2MjBiY2E1ZWJkMjI4M2NiNDA2OA"
,
"ssid_ucp_v1"
:
"1.0.0-KGFkNzFkNmYzODAwZGI5OGM0NGQ5NzA3M2QxNjAyMWM2Njc2N2I5MTgKGQjHtKCqrKyYBBDO2MPDBhiwISAMOAFA6wcaAmxmIiAwMDExMTg1YzY1YmQ2MjBiY2E1ZWJkMjI4M2NiNDA2OA"
,
"uid_tt"
:
"506f7b0c81c01d7514c886854f5a79cd"
,
"uid_tt_ss"
:
"506f7b0c81c01d7514c886854f5a79cd"
,
"COMPASS_LUOPAN_DT"
:
"session_7525773154556346650"
,
"BUYIN_SASID"
:
"SID2_7525774050096169251"
,
"Hm_lpvt_b6520b076191ab4b36812da4c90f7a5e"
:
"1752230958"
,
"csrf_session_id"
:
"a863c649f0721c8150f5bda69b659380"
,
"source"
:
"seo.fxg.jinritemai.com"
},
"proxies"
:
"socks5h://hwK7px85A9cNB9wR:vEh67THqHh2Xjpj3@58.251.252.66:9001"
,
"skus"
:
[{
"sku_id"
:
"825460040364440779"
,
"image"
:
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e10c2dda.jpg"
},
{
"sku_id"
:
"410752745034944154"
,
"image"
:
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1113966.jpg"
},
{
"sku_id"
:
"702228012132942343"
,
"image"
:
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1157b12.jpg"
}],
"images"
:
[
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e0fcfe49.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1003a57.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e10308d6.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e105d8bc.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e107ea6d.jpg"
],
"description"
:
[
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1175948.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e11a1ba4.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e11e1259.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1218e11.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12586e5.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1276dfc.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12b860c.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12e83c0.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1323a3d.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1352ab0.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e137c861.jpg"
,
"http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e13ae9ad.jpg"
],
"video_list"
:
[
"https://cloud.video.taobao.com/play/u/3546714953/p/2/e/6/t/1/518590669530.mp4?appKey=38829"
]
,
"type"
:
2
},
"status_code"
:
200
}
# tasks = {"code": 0, "message": "success", "data": {"item_id": 921707219436, "headers": {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6779.0 Safari/537.36", "sec-ch-ua": "Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, "cookie": {"gfkadpd": "4272,23756", "passport_csrf_token": "085a146f3e5c7d6ffb291c1aa81f9a71", "passport_csrf_token_default": "085a146f3e5c7d6ffb291c1aa81f9a71", "ttcid": "53c81c77b3bb489d8e84e74c691a021215", "s_v_web_id": "verify_mcoicpk4_2db5c5bb_310b_79d4_f6ab_49a6ef264e36", "gd_random": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC4xOTIxMTQ1NTI3NDIzNDU4fQ==.inx0kgU3DeIysiYrTzVjrJ3hImpr9GRyY/JD5oCWoyQ=", "zsgw_business_data": "%7B%22uuid%22%3A%22cb5919b0-458b-4624-8b98-d892792f45b9%22%2C%22platform%22%3A%22pc%22%2C%22source%22%3A%22seo.fxg.jinritemai.com%22%7D", "ecom_gray_shop_id": "225564417", "HMACCOUNT": "6BDCEA5FD75B2174", "x-web-secsdk-uid": "ba0eebd6-4bd8-48de-b5c2-8032db5e8e81", "PIGEON_CID": "7522394902744882724", "SHOP_ID": "225564417", "_tea_utm_cache_472893": "undefined", "_tea_utm_cache_643623": "undefined", "Secure": "True", "gf_part_3164895": "74", "_shop_token_": "ed474a2a302be0aff7eddac117584630", "ffa_goods_ewid": "027a8000ef7f24b9d22481d700a7eb34", "ffa_goods_seraph_did": "undefined", "Hm_lvt_b6520b076191ab4b36812da4c90f7a5e": "1751614184,1752025016", "ttwid": "1%7C5T5KdCu_h9A6pP4qtqJkuvnCdPsfIRAm_dESgkSngmw%7C1752230963%7Cd53db946aa81740ad6e6d58ff0088d40c3ea5d8b436d38413c46709cfcff0b01", "tt_scid": "2KhbBXGi8bq7NY4eEzJ5Ufm6FSnwaPn4YCYNBgBV.5o8p9.vxD3GDJ3vNHnJjomae74f", "d_ticket_doudian": "fdc963a28a3d01565c5cdd7c5ca9370589493", "n_mh_doudian": "9-mIeuD4wZnlYrrOvfzG3MuT6aQmCUtmr8FxV8Kl8xY", "odin_tt": "e6355d3676dde538ff181f527dc4c41eff64064ef8cad5dcc1025a0e4cb6c85c22670aa3949866ec315660abc92b616b2b91a2e1a8a22c932b76f80ecdb16664", "passport_mfa_token": "CjH6e8E1oe3y3s4Dnhr%2FwwzAVTZiA4ZF0NgsK5ukU9XG6f%2B4oIxVrT6I2159TRkWiJeaGkoKPAAAAAAAAAAAAABPOLzKSMDQhC8NS2qIXsj2pRnOTqs1KCiBjE%2BljrWpk1yLHjX5arEfMaaO0bHRcP57%2BhC7ufYNGPax0WwgAiIBA2h3AgA%3D", "session_tlb_tag": "sttt%7C10%7CABEYXGW9YgvKXr0ig8tAaP________-h9ea8ZAQgTyGsZJXe3JHrS14yvoUHqDuvWyWWQBfImjs%3D", "sid_ucp_sso_v1_doudian": "1.0.0-KGU0Y2RkNjIyODFjZjZiZDJlOTlmMGFhYThhN2M3MzUwMzliMjQ4Y2YKHwjHtKCqrKyYBBC72MPDBhiwISAMMPuoscEGOAFA6wcaAmhsIiA3ZGViOTY4MWM2YWY1MDczY2VhZTI2OThjMzUyNmMzZg", "ssid_ucp_sso_v1_doudian": "1.0.0-KGU0Y2RkNjIyODFjZjZiZDJlOTlmMGFhYThhN2M3MzUwMzliMjQ4Y2YKHwjHtKCqrKyYBBC72MPDBhiwISAMMPuoscEGOAFA6wcaAmhsIiA3ZGViOTY4MWM2YWY1MDczY2VhZTI2OThjMzUyNmMzZg", "sso_uid_tt_doudian": "233262f0e2201aebe809a7a97ecf022d", "sso_uid_tt_ss_doudian": "233262f0e2201aebe809a7a97ecf022d", "toutiao_sso_user_doudian": "7deb9681c6af5073ceae2698c3526c3f", "toutiao_sso_user_ss_doudian": "7deb9681c6af5073ceae2698c3526c3f", "ucas_sso_c0_doudian": "CkEKBTEuMC4wEKKIgbjlhru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIUwHgyZP-VYrNHnWycmKXWIA8Vg_4", "ucas_sso_c0_ss_doudian": "CkEKBTEuMC4wEKKIgbjlhru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIUwHgyZP-VYrNHnWycmKXWIA8Vg_4", "ucas_c0": "CkEKBTEuMC4wEKKIia7chru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIU6MBKgzZvfJFEpQfFPi2ecy1UGEQ", "ucas_c0_ss": "CkEKBTEuMC4wEKKIia7chru4aBjmJiDI3ICqrKzkAiiwITDHtKCqrKyYBEC-2MPDBki-jIDGBlCkvMWy8Mm6smhYbxIU6MBKgzZvfJFEpQfFPi2ecy1UGEQ", "PHPSESSID": "201b8255bfb1cf7538bb1d090332eef2", "PHPSESSID_SS": "201b8255bfb1cf7538bb1d090332eef2", "is_staff_user": "false", "sessionid": "0011185c65bd620bca5ebd2283cb4068", "sessionid_ss": "0011185c65bd620bca5ebd2283cb4068", "sid_guard": "0011185c65bd620bca5ebd2283cb4068%7C1752230990%7C5184000%7CTue%2C+09-Sep-2025+10%3A49%3A50+GMT", "sid_tt": "0011185c65bd620bca5ebd2283cb4068", "sid_ucp_v1": "1.0.0-KGFkNzFkNmYzODAwZGI5OGM0NGQ5NzA3M2QxNjAyMWM2Njc2N2I5MTgKGQjHtKCqrKyYBBDO2MPDBhiwISAMOAFA6wcaAmxmIiAwMDExMTg1YzY1YmQ2MjBiY2E1ZWJkMjI4M2NiNDA2OA", "ssid_ucp_v1": "1.0.0-KGFkNzFkNmYzODAwZGI5OGM0NGQ5NzA3M2QxNjAyMWM2Njc2N2I5MTgKGQjHtKCqrKyYBBDO2MPDBhiwISAMOAFA6wcaAmxmIiAwMDExMTg1YzY1YmQ2MjBiY2E1ZWJkMjI4M2NiNDA2OA", "uid_tt": "506f7b0c81c01d7514c886854f5a79cd", "uid_tt_ss": "506f7b0c81c01d7514c886854f5a79cd", "COMPASS_LUOPAN_DT": "session_7525773154556346650", "BUYIN_SASID": "SID2_7525774050096169251", "Hm_lpvt_b6520b076191ab4b36812da4c90f7a5e": "1752230958", "csrf_session_id": "a863c649f0721c8150f5bda69b659380", "source": "seo.fxg.jinritemai.com"}, "proxies": "socks5h://hwK7px85A9cNB9wR:vEh67THqHh2Xjpj3@58.251.252.66:9001", "skus": [{"sku_id": "809490529481131183", "image": "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e10c2dda.jpg"}, {"sku_id": "871626639039123243", "image": "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1113966.jpg"}, {"sku_id": "727997144358380388", "image": "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1157b12.jpg"}], "images": ["http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e0fcfe49.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1003a57.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e10308d6.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e105d8bc.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e107ea6d.jpg"], "description": ["http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1175948.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e11a1ba4.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e11e1259.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1218e11.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12586e5.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1276dfc.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12b860c.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e12e83c0.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1323a3d.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e1352ab0.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e137c861.jpg", "http://159.75.92.198:8808/uploads/20250627/921707219436/685e6e13ae9ad.jpg"], "video_list": ["https://cloud.video.taobao.com/play/u/3546714953/p/2/e/6/t/1/518590669530.mp4?appKey=38829"], "title": "2025\u590f\u5b63\u65b0\u6b3e\u5f3a\u529b\u706d\u868a\u706f\u5bb6\u7528\u84dd\u5149\u8bf1\u868a\u706f"
, "type": 2}, "status_code": 200}
except
:
logger
.
error
(
'获取任务失败'
)
return
...
...
@@ -208,6 +210,6 @@ if __name__ == '__main__':
# 内层线程池大小(每个任务)
INNER_MAX_WORKERS
=
3
#
while True:
while
True
:
asyncio
.
run
(
run
())
#
time.sleep(10)
time
.
sleep
(
10
)
utils/common.py
View file @
8d390169
...
...
@@ -216,11 +216,12 @@ async def get_task(params: dict = None):
获取任务
"""
publish_task
=
requests
.
get
(
f
"{settings.DOMAIN}/api/collection/task/getPublishTask"
,
headers
=
DEFAULT_HEADER
)
.
json
()
# collection_task = requests.get(f'{settings.DOMAIN}/api/collection/task', headers=DEFAULT_HEADER, params=params).json()
# if collection_task.get('data', []):
# collection_task['data'].extend(publish_task_data)
# return collection_task
# else:
collection_task
=
requests
.
get
(
f
'{settings.DOMAIN}/api/collection/task'
,
headers
=
DEFAULT_HEADER
,
params
=
params
)
.
json
()
publish_task_data
=
publish_task
.
get
(
'data'
,
[])
if
publish_task_data
:
collection_task
[
'data'
]
.
extend
(
publish_task_data
)
return
collection_task
else
:
return
publish_task
async
def
callback_task
(
data
:
dict
,
task_type
:
int
):
...
...
@@ -233,7 +234,7 @@ async def callback_task(data: dict, task_type:int):
if
task_type
==
1
:
return
requests
.
post
(
f
"{settings.DOMAIN}/api/collection/task"
,
json
=
data
,
headers
=
DEFAULT_HEADER
)
elif
task_type
==
2
:
return
requests
.
post
(
f
"{settings.DOMAIN}/api/collection/task/callBackPublishTask"
,
json
=
data
)
return
requests
.
post
(
f
"{settings.DOMAIN}/api/collection/task/callBackPublishTask"
,
json
=
data
,
headers
=
DEFAULT_HEADER
)
else
:
raise
Exception
(
"task_type error"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment