Compare commits

..

2 Commits

Author SHA1 Message Date
627300d8fd 筛选 2023-11-16 06:25:12 +08:00
50e45944d9 env 2023-11-16 05:37:16 +08:00

28
main.py
View File

@@ -4,6 +4,10 @@ import requests
from PIL import Image, ImageFile
# 读取 .env
from dotenv import dotenv_values
config = dotenv_values(".env")
ImageFile.LOAD_TRUNCATED_IMAGES = True
# 下载图片(使用OSS下载)
@@ -12,10 +16,10 @@ def download_image(url:str) -> Image:
try:
url = url.replace('http://image.gameuiux.cn/', '').replace('https://image.gameuiux.cn/', '')
oss2.defaults.connection_pool_size = 100
oss_host = 'oss-cn-shanghai-internal.aliyuncs.com'
oss_auth = oss2.Auth('LTAI4GH3qP6VA3QpmTYCgXEW', 'r2wz4bJty8iYfGIcFmEqlY1yon2Ruy')
return Image.open(io.BytesIO(oss2.Bucket(oss_auth, f'http://{oss_host}', 'gameui-image2').get_object(url).read()))
oss_auth = oss2.Auth(config['OSS_ACCESS_KEY_ID'], config['OSS_ACCESS_KEY_SECRET'])
return Image.open(io.BytesIO(oss2.Bucket(oss_auth, f'http://{config["OSS_HOST"]}', config['OSS_BUCKET_NAME']).get_object(url).read()))
except Exception:
print('图片下载失败:', url)
return None
else:
try:
@@ -28,16 +32,26 @@ def download_image(url:str) -> Image:
import pymysql
import pymysql.cursors
import cnocr
conn = pymysql.connect(host='172.21.216.35', user='gameui', password='gameui@2022', database='gameui', cursorclass=pymysql.cursors.DictCursor)
ocr = cnocr.CnOcr(rec_model_name='ch_PP-OCRv3')
conn = pymysql.connect(host=config['MYSQL_HOST'], user=config['MYSQL_USER'], password=config['MYSQL_PASSWORD'], database=config['MYSQL_NAME'], cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
cursor.execute("SELECT id, content FROM web_images LIMIT 10")
cursor.execute("SELECT id, content FROM web_images LIMIT 5")
# 获取查询结果
rows = cursor.fetchall()
for row in rows:
print(row)
image = download_image(row.content)
#print(row)
image = download_image(row['content'])
if image is None:
print('图片下载失败,跳过')
continue
out = ocr.ocr(image)
# 这段代码将只包含那些非空、不是纯数字且长度大于1的'text'值
texts = [item['text'] for item in out if item['text'] and not item['text'].isdigit() and len(item['text']) > 1]
print(texts)
# 关闭游标和连接
cursor.close()