- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
; p+ c9 M- j T9 h9 T' o - #!/usr/bin/python
- ' v |4 ~4 [5 c0 v! g# -*- coding: utf-8 -*-
- & P4 M2 _' T, n7 I8 ~ [
- % X8 W) ?, _* I! H; K* I- o) jimport tkinter as tk! C7 }( J# G9 Z
- from tkinter import filedialog
- . F. u& Q4 z. g% l& Z
- ' S8 }1 H: [8 P/ \2 Aimport requests4 v5 P( X* z X6 F% b( m* Y4 E4 L
- from urllib3 import encode_multipart_formdata3 }6 ^$ g9 W, v) U
- ' J. J) f2 Y8 p* p( p. k
- from os.path import basename
- 2 X( q% i- x. R7 n- M
- 4 Y\" k+ H% Y5 \0 b2 Wfrom PIL import Image3 M# j2 ^, Q4 j: _
- + `8 _3 f) D3 F7 J% Z
- + }, B) F9 G8 m& j; R+ p: |& V
- def getmidstring(html, start_str, end):9 e/ x. l\" z( D/ o- f2 u: x
- start = html.find(start_str): @6 Z& L: A6 |/ C. G' C& }
- if start >= 0:
- % b- p: `; c3 L start += len(start_str), K( K/ f. }% ^) T' U6 C4 H/ \. F# F
- end = html.find(end, start)8 [% ~2 h H6 g. ?1 x
- if end >= 0:* Q3 H4 }# f3 A$ i* ?
- return html[start:end].strip()
- ; `- z. }+ _3 @$ i! A, o& h, ?+ e7 j
- H$ t/ \& x) |, j, {' _, Y4 _: F: \7 K
- def getTextLeft(html, end):
- \" }! V+ I, l6 S' B start = html.find(end)
- * ?( Y( `: y0 j) ^! G% c7 H if start >= 0:
- 5 c- O: |, x# \! o return html[0:start].strip()
- 6 M/ J/ L0 I' @9 J2 l7 g& s; o7 O2 L! u
- ( M1 Y1 w% R) I( q3 p: Uroot = tk.Tk()
- 5 t4 l\" ?! z: X6 k iroot.withdraw()
- 6 @! G8 c# ~7 p c
- 4 J/ C2 h. q4 Y0 nfiletypes = [(
- : ]8 K {& ~9 Z8 y '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]3 H; h- E( |8 s% P3 q) r
- file_paths = filedialog.askopenfilenames(filetypes=filetypes): v$ q- W% e& M/ _6 D
- 3 b/ G/ `5 a' {) O/ r
- for file_path in file_paths:
- 7 _. B) M0 C# {; F$ w$ N print(file_path)
- # P m' \0 Y* A) n$ J3 c' w
- 0 w* h }* x+ X. _ im = Image.open(file_path)
- / ~- e2 w% |( l+ I: F print("image/" + im.format.lower()). `% }8 p: T+ Z' D: J- G1 x
- % J: w' B\" \! ~, E% l with open(file_path, mode="rb") as f:& a& k* j$ W! h) Q: h& R% F
- file = { f8 S9 z8 K T; I! I2 y5 R, F
- "flag": "1",
- \" }: X/ P! U, m7 d- c "pic_path": (basename(file_path), f.read()),
- # }( J) P1 e% [) Z; I% L }
- 5 X3 A. o1 ]3 Y( g+ c: @) Z+ u8 x encode_data = encode_multipart_formdata(file)5 X, y! A7 v3 {( T% ?$ a5 `
- 0 r4 L% S\" Q& Z' U& C' n3 I file_data = encode_data[0]2 M. G7 G5 S& H\" Q8 k1 b2 i
- 1 H, Q1 P3 s\" _ Y
- print(encode_data[1])* h3 ?2 J9 {1 f\" c3 k9 F
- ) z6 Q) a! N! ~ X& p
- url = "http://pic.sogou.com/ris_upload"$ [- f$ F w- c1 H& J! ^
- headers_from_data = {5 t8 _( M% v2 e( ~
- "Content-Type": encode_data[1]
- 5 N0 r6 _\" K7 o- y/ ?: d( Q3 q5 s2 q }- y/ A+ B* I' Z5 N
- response = requests.post(9 [6 F0 x2 k: X
- url=url,0 e' J+ ]0 O6 t% G$ w) ?
- headers=headers_from_data,) Q2 l$ f# W2 k- G1 E
- data=file_data,$ p' h6 K: U2 U, x( y( G+ y
- allow_redirects=False)
- H( s3 p7 Z1 A4 o# W1 d response_text = response.text* ^9 b$ Q0 k8 @
- start = response_text.find("<a href=\"")' C1 T+ U) y5 `! N$ m
- start = getmidstring(response_text, "<a href=\"", "\">"). ]2 w# {; n- I( O- a) D6 ]
- print("相似图片:" + start)8 n! B' A4 c8 _0 l5 I F7 d
- 2 o1 O9 G- @' b, P9 a! B start = getTextLeft(start, "&oname="): ~9 u. K$ W- I) K2 g S% _
- start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
- % G8 W9 K6 A; `
- 1 m\" M7 D, F) m start = requests.get(start).json()
- + z5 r5 W* |/ {- s1 c print("上传的图片:" + start['query'])
- ) O- G% u4 P! i\" y& P6 Q& d& f
0 F- L& M; x3 k& Q2 g, A
3 C1 @: a) ?7 \3 k. H
转发自派生社区
6 ?9 z& i, h7 j4 t- `$ o |
zan
|