- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
# G4 {+ F. f+ R9 L# m
 - #!/usr/bin/python
- ) ~. V2 N2 |) f5 o# -*- coding: utf-8 -*-
- 7 \9 A# s0 T7 ~) P9 Q b: c/ N4 A- ]4 q, H! E, y2 N
- import tkinter as tk
- 0 h\" D1 N$ d( h! e& afrom tkinter import filedialog
- 4 X6 Q8 I) G* k& Z% V- b+ ~( X$ M9 g\" t) ~! t
- import requests6 p' Q7 k# Z2 L% h u2 u5 j
- from urllib3 import encode_multipart_formdata
- ) P# h1 a9 } C3 j
- 9 t$ N. _- I4 `6 s- \from os.path import basename
- : `3 R g8 Q\" Q9 _
- / t J7 ?; N# F1 s9 V+ h5 _5 s+ efrom PIL import Image9 G8 e2 L5 M% h! C+ W' S$ f/ ~
- 7 [5 F- z& v6 h
- : J% n/ M) N) b5 j$ \3 @def getmidstring(html, start_str, end):' X; L: L# c\" p1 O\" j P0 u- u
- start = html.find(start_str)
- 0 {0 l3 U# c# } }% P if start >= 0:! `) ~8 I0 ?- m
- start += len(start_str)
- $ M9 U5 ]( r, k; E, | end = html.find(end, start)
- & X1 f) ~5 z4 v if end >= 0:( x9 m0 V0 r& E\" r' q\" i, [
- return html[start:end].strip()
- / \& F) i6 `: u8 A4 ~5 I* e/ N, F\" [4 n2 w3 @3 H! j$ w
- 0 H6 y/ [0 G- A4 U$ j- Kdef getTextLeft(html, end):
- & C+ ~$ d/ p ^\" Y start = html.find(end)
- & g# h8 n' A; \1 j if start >= 0:, H0 Q+ v2 U: }1 y& R
- return html[0:start].strip()
- 6 M1 }9 \3 q: [8 }& J2 L
- ; l; U; \7 J' f8 T' E5 w) \, E! N
- root = tk.Tk()
- ! \2 p# C: y+ V' a% b, S9 Mroot.withdraw()\" a5 X8 H* R5 [ w3 H
- 9 t7 f0 b# m: Q# f
- filetypes = [(
- 6 N7 M5 U\" s' x* @( e '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]
- 6 Y% S2 a& m M6 U( s: k& l5 p( {file_paths = filedialog.askopenfilenames(filetypes=filetypes)7 x5 [6 w3 V& D; y2 M2 X1 g
- % B. w G7 c5 m2 s, h/ G
- for file_path in file_paths:\" w6 A4 ?3 O& [
- print(file_path)
- # _9 P5 b& _8 W2 D+ p
- 1 ~8 _\" \& ~% U y/ i% ~1 L im = Image.open(file_path) l& x& N9 \2 q\" A8 p- x
- print("image/" + im.format.lower())
- % L9 s/ w0 v( C; e\" O$ X4 B6 H2 ^! C Z0 |7 M, R9 A+ h% b2 S, r
- with open(file_path, mode="rb") as f:
- 6 h e, a5 J7 f3 b! S. B* S file = {
- ; J5 d6 J% c4 y4 T9 ^8 E6 w "flag": "1",; O+ y: F; W- w) Q* w! B/ @0 ?8 R
- "pic_path": (basename(file_path), f.read()),9 i0 d% S/ c7 P. X% ]! A) u
- }
- 8 k: D6 P5 n/ q0 U5 Q% h( } encode_data = encode_multipart_formdata(file)6 @9 v/ q3 `: D4 Z\" ? B. }4 s$ G
- ( O1 m1 g3 \! H/ @: k H4 U4 z file_data = encode_data[0]
- 7 D2 |( f\" U6 M- x\" f& e/ i+ M! Y |. ?
- print(encode_data[1])5 i; v3 h. L* J
- + L! s' D7 @: W) t. w
- url = "http://pic.sogou.com/ris_upload". O' [3 e- _' O8 J$ j
- headers_from_data = {
- # N7 [2 @& W# X B "Content-Type": encode_data[1]
- - e2 x- R# d9 T/ U/ K7 n; s }
- ' E* E3 }/ `# W! s' D response = requests.post(
- # _( O, {* L2 Y5 m url=url,
- & t7 X& U& f. f6 Q. [ headers=headers_from_data,
- + p0 |- v' @ K( \$ [( {; V, _ data=file_data,
- / P0 _* M) i% c allow_redirects=False)
- - Z; V* Y3 x2 E8 l- ~4 a, g2 w+ M response_text = response.text# C\" ~ r- A8 W' g7 l. c- C
- start = response_text.find("<a href=\"")
- ) ~0 @9 g) K& R start = getmidstring(response_text, "<a href=\"", "\">"): Z% L a% ?. f: ~5 K Y1 T
- print("相似图片:" + start); y' h. T: W1 p- j
- ) t& N) X. c. l9 t\" ^( X start = getTextLeft(start, "&oname=")
- 5 O; V) g$ C2 y start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
- # z) b# T$ `- V# ^1 G1 X. `
- 1 R( a: u! h# @\" w( s# \1 k# ]9 Q0 M start = requests.get(start).json()
- / d7 J% u( X Q; n+ `5 d% v( p print("上传的图片:" + start['query'])5 P6 F$ D8 r0 \* g: q0 E
/ W3 O1 j0 a; E! \
. f3 B6 M* C7 \' o
转发自派生社区, S) \8 H7 M/ |3 |8 T
|
zan
|