Commit 8066e738 by Peng

no message

parent d065bab7
from time import sleep
from random import randint
from all_connect import ConnectSpider from all_connect import ConnectSpider
Con = ConnectSpider() Con = ConnectSpider()
import imaplib
import email
import os import os
os.environ['NO_PROXY'] = 'stackoverflow.com' os.environ['NO_PROXY'] = 'stackoverflow.com'
import logging import logging
logging.captureWarnings(True) logging.captureWarnings(True)
from DrissionPage import ChromiumPage
import json import json
import requests import requests
import re import re
import random
import time import time
from datetime import datetime, timedelta from datetime import datetime
import concurrent.futures
import time
import threading
class Download(): class Download():
def __init__(self): def __init__(self):
...@@ -73,7 +64,12 @@ class Download(): ...@@ -73,7 +64,12 @@ class Download():
content_type = res.headers.get("Content-Type", "") content_type = res.headers.get("Content-Type", "")
print('content_type: 查看返回的类型:',content_type) print('content_type: 查看返回的类型:',content_type)
if res.status_code != 200 or not content_type.startswith("image/"):
print(f'下载失败 image_id:{image_id} status:{res.status_code} content_type:{content_type}')
return
# 构建完整的文件路径 # 构建完整的文件路径
os.makedirs(save_folder, exist_ok=True)
file_path = os.path.join(save_folder, pic_name) file_path = os.path.join(save_folder, pic_name)
self.download_image(file_path, res) self.download_image(file_path, res)
Con.update_url_state_to_3(image_id) Con.update_url_state_to_3(image_id)
...@@ -83,8 +79,6 @@ class Download(): ...@@ -83,8 +79,6 @@ class Download():
except Exception as e: except Exception as e:
print(e) print(e)
import time
def process_item_id(self, item_id): def process_item_id(self, item_id):
has_new_data = False # 用于标记当前item_id是否有新数据被处理 has_new_data = False # 用于标记当前item_id是否有新数据被处理
print(f"开始处理item_id: {item_id}") print(f"开始处理item_id: {item_id}")
......
import json import json
import os import os
from datetime import datetime from datetime import datetime
# import requests
import PIL import PIL
from PIL import Image from PIL import Image
from all_connect import ConnectSpider from all_connect import ConnectSpider
# import time
# import shutil
import re import re
# from pathlib import Path
import shutil import shutil
import traceback
from pathlib import Path from pathlib import Path
import tempfile import tempfile
import time import time
...@@ -36,7 +31,6 @@ def generate_thumbnail_240(input_image_path, output_image_path): ...@@ -36,7 +31,6 @@ def generate_thumbnail_240(input_image_path, output_image_path):
img = img.convert("RGB") img = img.convert("RGB")
# 保存缩略图 # 保存缩略图
img.save(output_image_path) img.save(output_image_path)
pass
def generate_thumbnail_big(input_image_path, output_image_path): def generate_thumbnail_big(input_image_path, output_image_path):
...@@ -113,6 +107,8 @@ class UploadPicture(): ...@@ -113,6 +107,8 @@ class UploadPicture():
break break
except Exception as e: except Exception as e:
print('get_microservice_token, 报错',e) print('get_microservice_token, 报错',e)
if not hasattr(self, 'token'):
raise Exception('获取token失败,已重试5次')
def upload_file(self, img_id, file_path): def upload_file(self, img_id, file_path):
print(img_id,' file_path:::',file_path) print(img_id,' file_path:::',file_path)
...@@ -146,13 +142,12 @@ class UploadPicture(): ...@@ -146,13 +142,12 @@ class UploadPicture():
big_img_path = os.path.join(tmpdir, "thumbnail_image_big" + suffix) big_img_path = os.path.join(tmpdir, "thumbnail_image_big" + suffix)
img_240_path = os.path.join(tmpdir, "thumbnail_image_240" + suffix) img_240_path = os.path.join(tmpdir, "thumbnail_image_240" + suffix)
try: try:
print(target_path, os.path.join(tmpdir, big_img_path),'23333333333') print(target_path, big_img_path)
generate_thumbnail_big(target_path, os.path.join(tmpdir, big_img_path)) generate_thumbnail_big(target_path, big_img_path)
generate_thumbnail_240(target_path, os.path.join(tmpdir, img_240_path)) generate_thumbnail_240(target_path, img_240_path)
except Exception as ex: except Exception as ex:
print(f"文件{filename}生成缩略图失败:",ex) print(f"文件{filename}生成缩略图失败:",ex)
return False return False
pass
retry_time = 1 retry_time = 1
while retry_time < 3: while retry_time < 3:
...@@ -186,21 +181,17 @@ class UploadPicture(): ...@@ -186,21 +181,17 @@ class UploadPicture():
print('errMsg:::',errMsg) print('errMsg:::',errMsg)
if errMsg == '您上传的文件已经被上传过~!请勿重复上传!': if errMsg == '您上传的文件已经被上传过~!请勿重复上传!':
exec_sql( exec_sql(
f"""update stock_image_detail_wj set upload_time='{formatted_time}',err_msg='success' where image_id ='img_id'""" ) f"""update stock_image_detail_wj set upload_time='{formatted_time}',err_msg='success' where image_id ='{img_id}'""" )
self.count = self.count + 1 self.count = self.count + 1
success_flag = True success_flag = True
break break
else: else:
exec_sql(f"""update stock_image_detail_wj set upload_time='{formatted_time}',err_msg='{json.dumps(response_data)}' where image_id = '{img_id}'""") exec_sql(f"""update stock_image_detail_wj set upload_time='{formatted_time}',err_msg='{json.dumps(response_data)}' where image_id = '{img_id}'""")
retry_time += 1
if "" in errMsg:
# 此处超时等
pass
retry_time = retry_time + 1
except Exception as e: except Exception as e:
print('报错:33333',e) print('报错:33333',e)
self.get_microservice_token() self.get_microservice_token()
retry_time += 1
finally: finally:
# 关闭文件流 # 关闭文件流
for file in files.values(): for file in files.values():
...@@ -241,7 +232,6 @@ class UploadPicture(): ...@@ -241,7 +232,6 @@ class UploadPicture():
# 转移到上传成功的文件夹中 # 转移到上传成功的文件夹中
print('转移到上传成功的文件夹中') print('转移到上传成功的文件夹中')
shutil.move(file_path, os.path.join(all_pic_success_dir, file_name)) shutil.move(file_path, os.path.join(all_pic_success_dir, file_name))
pass
return 1 return 1
def run(self): def run(self):
folder_path_list = [ folder_path_list = [
...@@ -278,8 +268,8 @@ class UploadPicture(): ...@@ -278,8 +268,8 @@ class UploadPicture():
] ]
for account_id in folder_path_list: for account_id in folder_path_list:
if 9 <= datetime.now().hour < 16: if 8 <= datetime.now().hour < 18:
print(f"当前时间 {datetime.now().hour} 点,超出运行时段 18:00–08:00,退出循环。") print(f"当前时间 {datetime.now().hour} 点,白天时段暂停上传,运行时段为 18:00–08:00,退出循环。")
break break
print(f"当前时间 {datetime.now().hour} 点,开始处理账户 {account_id}") print(f"当前时间 {datetime.now().hour} 点,开始处理账户 {account_id}")
if '@' in account_id: if '@' in account_id:
...@@ -294,6 +284,7 @@ class UploadPicture(): ...@@ -294,6 +284,7 @@ class UploadPicture():
try: try:
str_null = self.upload_dir(folder_path) str_null = self.upload_dir(folder_path)
if str_null == 'null': if str_null == 'null':
success = True # 目录不存在,不算失败
break break
success = True success = True
break break
......
...@@ -419,7 +419,7 @@ class GetSS_details(): ...@@ -419,7 +419,7 @@ class GetSS_details():
# self.login_out() # self.login_out()
# 查找并点击登录按钮 # 查找并点击登录按钮
login_button = self.page.ele('xpath://a[@data-automation="loginButton"]', timeout=15) login_button = self.page.ele('xpath://button[@data-automation="loginButton"]', timeout=15)
login_button.click() login_button.click()
sleep(randint(12,24)) sleep(randint(12,24))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment