- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
- T: \& F( m, D1 Q0 s+ p( I
 - #!/usr/bin/python, F( h, N* e: E- @8 G
- # -*- coding: utf-8 -*-
- ( [1 B$ y/ _2 @) ?) ?1 S# Y9 m% y
- - w( R0 Q% B$ e' r4 mimport tkinter as tk
- 9 p5 Y1 |: G& g8 Kfrom tkinter import filedialog$ u* L\" O# f\" k( J
- 5 }( W' n% Z# p# b; f7 J* wimport requests
- $ I8 G0 R4 n S6 a4 @from urllib3 import encode_multipart_formdata
- . V& V9 _. I8 }/ } T\" |6 K# } h& T& s8 n$ V( _0 @0 l' Q
- from os.path import basename% Z6 w7 ] ]: [! ^
- ' W2 ?\" ?, g\" Z\" X# Y, j9 [/ `
- from PIL import Image
- 6 o8 N5 x: _8 \/ _) t [* ^) ^2 v# A8 T7 p6 y: P
- 7 X9 }1 Q3 o: g2 X; _# r% udef getmidstring(html, start_str, end):: B; L' U$ R1 u, \- W
- start = html.find(start_str)7 q6 k3 D' Q/ M6 W6 W! A
- if start >= 0:
- 6 m- G! S8 b# ]6 i: b( M1 ^/ m x/ Y start += len(start_str)! w; c* v7 \5 K: [/ m4 n1 q% j+ `
- end = html.find(end, start)7 o. w1 J I1 k* ~) E
- if end >= 0:\" p( ?2 P$ x/ O
- return html[start:end].strip()/ F3 O/ R. Q% l% }5 C3 L. [- k
- + Z3 l( ?; J. D) X0 F; Q
- $ o7 }0 I% a. o! i8 d5 hdef getTextLeft(html, end):\" J9 V3 C) w6 _
- start = html.find(end)
- . A5 [/ b1 F: J6 Y if start >= 0:
- 5 e5 \. m# U+ m: A9 G& P2 \ return html[0:start].strip()
- / R% H8 D5 \\" \ b\" O; A6 Y5 p/ A% c& j8 w/ V+ g0 D
- ' ~2 ?1 y/ W$ d4 u3 P6 W$ c5 [
- root = tk.Tk()
- 5 G m0 N$ }/ u! K- Nroot.withdraw()
- 9 J7 E' N1 Z0 W% h( J i2 |% q5 s- X# Z% {7 W8 J7 I# j% Q) g
- filetypes = [(
- ( x& k/ S3 T( I$ P '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]# g! W8 x\" K {6 @2 c. l5 j* X& K5 ?# f
- file_paths = filedialog.askopenfilenames(filetypes=filetypes)\" D+ {9 [6 v8 d
- : v8 p5 Q3 J3 z) c1 @for file_path in file_paths:
- / N! U( C; R0 t+ B5 f print(file_path)
- . r\" P, p; U1 J; z* j9 x# g# U! R
- % T3 F6 ~3 y! e- h; B im = Image.open(file_path)
- % Z\" B7 s( c) y# T C% X print("image/" + im.format.lower())0 s5 m- Z9 d+ S+ l: P9 v\" e) ^
- $ r: K ~3 Y8 @0 j! i
- with open(file_path, mode="rb") as f:
- ) D% U$ c# O/ r$ `; I& ^ file = {% D# K7 F$ i f% L+ r6 ?
- "flag": "1",' P3 K5 G3 m& T! t4 D( E9 ~
- "pic_path": (basename(file_path), f.read()),& j2 X, e! v# \6 ~4 ]
- }
- 6 @, W/ O4 N3 O2 n% o\" D1 I encode_data = encode_multipart_formdata(file)
- ( G, i, m: @\" Y5 I$ X) k. g: L/ C* @6 l H; j' ?# @
- file_data = encode_data[0]; G' a: _7 u2 z& J3 |
- ( R9 d) Z6 A$ A% @& O T
- print(encode_data[1])
- ' ^- m# \) U, F1 @ {% B+ M$ a3 X( |' T v
- url = "http://pic.sogou.com/ris_upload"& t7 |7 U, _. G# ?$ f1 m6 @& @7 ^
- headers_from_data = {7 O7 X' j: U7 o5 y' k; J
- "Content-Type": encode_data[1]
- . d2 F; J: X# |9 n( B! i, t }2 u( t0 O% q1 G
- response = requests.post(
- ( e% W; O# ]) J! Q url=url,& z' o. i* e- r6 g; Y8 t
- headers=headers_from_data,
- 3 [\" R7 j- Y\" i data=file_data,
- 0 c, i7 F6 w, I\" Y) {7 I( A7 l allow_redirects=False)
- 0 j' O: j# C! s9 t; o+ }& P response_text = response.text7 e\" a1 I* ~\" t
- start = response_text.find("<a href=\"")
- ! {# a5 b$ P) B f start = getmidstring(response_text, "<a href=\"", "\">")
- ! i6 C L3 o% R0 R5 [4 z print("相似图片:" + start); T/ l/ a5 u6 f5 b6 Q9 b
- 9 `$ @% ^9 x1 Z% u* M6 s
- start = getTextLeft(start, "&oname=")2 p8 i- O+ Q6 u& z\" }' v
- start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
- + R0 k: x3 U' q4 H: O; ?. I5 _$ {0 L8 @5 v
- % C- s3 | _# {) G+ N/ h start = requests.get(start).json()) z- @. g3 D1 j5 c
- print("上传的图片:" + start['query'])
- 6 ^8 g$ ?% J1 n\" v; s5 ]
+ M7 e4 t+ U& J5 |, W- W
' B9 o0 f9 H6 ?
转发自派生社区
) B# o, [, M' o/ O/ r& I9 N |
zan
|