提交 058ef7b7 编写于 作者: H hjdhnx

改了版本号

上级 6fbff148
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
# File : parse.py # File : parse.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------ # Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/9/24 # Date : 2022/9/24
from flask import Blueprint, jsonify,redirect from flask import Blueprint, jsonify,redirect,make_response
from utils.web import getParmas,get_interval from utils.web import getParmas,get_interval
import os import os
from utils.cfg import cfg from utils.cfg import cfg
from utils.log import logger from utils.log import logger
from utils.encode import OcrApi from utils.encode import OcrApi,base64ToImage
from controllers.service import storage_service from controllers.service import storage_service
from utils.pyctx import py_ctx,getPreJs,runJScode,JsObjectWrapper,PyJsString,parseText,jsoup,time from utils.pyctx import py_ctx,getPreJs,runJScode,JsObjectWrapper,PyJsString,parseText,jsoup,time
import base64 import base64
...@@ -54,6 +54,11 @@ def toast(url:str): ...@@ -54,6 +54,11 @@ def toast(url:str):
url = parseText(str(url)) url = parseText(str(url))
return f'toast://{url}' return f'toast://{url}'
def image(text:str):
if isinstance(text, PyJsString):
text = parseText(str(text))
return f'image://{text}'
@parse.route('/api/<path:filename>') @parse.route('/api/<path:filename>')
def parse_home(filename): def parse_home(filename):
url = getParmas('url') url = getParmas('url')
...@@ -74,6 +79,7 @@ def parse_home(filename): ...@@ -74,6 +79,7 @@ def parse_home(filename):
'jsp':jsp, 'jsp':jsp,
'重定向':重定向, '重定向':重定向,
'toast':toast, 'toast':toast,
'image':image,
'print':print, 'print':print,
'log':logger.info, 'log':logger.info,
'getParmas':getParmas, 'getParmas':getParmas,
...@@ -99,6 +105,11 @@ def parse_home(filename): ...@@ -99,6 +105,11 @@ def parse_home(filename):
return redirect(realUrl.split('redirect://')[1]) return redirect(realUrl.split('redirect://')[1])
elif str(realUrl).startswith('toast://'): elif str(realUrl).startswith('toast://'):
return R.failed(str(realUrl).split('toast://')[1],extra={'from':url}) return R.failed(str(realUrl).split('toast://')[1],extra={'from':url})
elif str(realUrl).startswith('image://'):
img_data = base64ToImage(str(realUrl).split('image://')[1])
response = make_response(img_data)
response.headers['Content-Type'] = 'image/jpeg'
return response
return R.success(f'{filename}解析成功',realUrl,{'time':f'{get_interval(t1)}毫秒','from':url}) return R.success(f'{filename}解析成功',realUrl,{'time':f'{get_interval(t1)}毫秒','from':url})
except Exception as e: except Exception as e:
msg = f'{filename}解析出错:{e}' msg = f'{filename}解析出错:{e}'
......
let url_tmp = vipUrl.split('@');
let url = url_tmp[0];
let headers = {};
url_tmp.slice(1).forEach(function (it){
headers[it.split('=')[0]] = it.split('=')[1];
});
let html = request(vipUrl,{headers:headers});
print(html.length);
try {
realUrl = image(html);
}catch (e) {
print('发生了错误:'+e);
}
\ No newline at end of file
此差异已折叠。
3.9.30beta4 3.9.30beta5
\ No newline at end of file \ No newline at end of file
此差异已折叠。
...@@ -405,3 +405,11 @@ def forceOrder(lists:list,key:str=None,option=None): ...@@ -405,3 +405,11 @@ def forceOrder(lists:list,key:str=None,option=None):
lists.reverse() lists.reverse()
return lists return lists
def base64ToImage(image_base64:str):
if isinstance(image_base64,PyJsString):
image_base64 = parseText(str(image_base64))
if ',' in image_base64:
image_base64 = image_base64.split(',')[1]
img_data = base64.b64decode(image_base64)
return img_data
\ No newline at end of file
...@@ -10,7 +10,7 @@ import requests ...@@ -10,7 +10,7 @@ import requests
from utils.web import * from utils.web import *
from utils.log import logger from utils.log import logger
from utils.encode import base64Encode,base64Decode,fetch,post,request,getCryptoJS,getPreJs,buildUrl,getHome,parseText,atob from utils.encode import base64Encode,base64Decode,fetch,post,request,getCryptoJS,getPreJs,buildUrl,getHome,parseText,atob
from utils.encode import setDetail,join,urljoin2,parseText,requireCache from utils.encode import setDetail,join,urljoin2,parseText,requireCache,base64ToImage
from utils.encode import md5 as mmd5 from utils.encode import md5 as mmd5
from utils.parser import runPy,runJScode,JsObjectWrapper,PyJsObject,PyJsString from utils.parser import runPy,runJScode,JsObjectWrapper,PyJsObject,PyJsString
from urllib.parse import quote from urllib.parse import quote
...@@ -70,5 +70,5 @@ py_ctx = { ...@@ -70,5 +70,5 @@ py_ctx = {
'buildUrl':buildUrl,'getHome':getHome,'setDetail':setDetail,'join':join,'urljoin2':urljoin2, 'buildUrl':buildUrl,'getHome':getHome,'setDetail':setDetail,'join':join,'urljoin2':urljoin2,
'PC_UA':PC_UA,'MOBILE_UA':MOBILE_UA,'UC_UA':UC_UA,'IOS_UA':IOS_UA, 'PC_UA':PC_UA,'MOBILE_UA':MOBILE_UA,'UC_UA':UC_UA,'IOS_UA':IOS_UA,
'setItem':setItem,'getItem':getItem,'clearItem':clearItem,'stringify':stringify,'encodeUrl':encodeUrl, 'setItem':setItem,'getItem':getItem,'clearItem':clearItem,'stringify':stringify,'encodeUrl':encodeUrl,
'requireObj':requireObj,'md5':md5,'atob':atob 'requireObj':requireObj,'md5':md5,'atob':atob,'base64ToImage':base64ToImage
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册