- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
) V4 O! U- O$ A3 b$ W
 - #!/usr/bin/python
- * I3 d9 ], X4 W/ a# -*- coding: utf-8 -*-
- 5 ~4 B. x* S* ^' P+ i$ g& }* _) P$ Y( c9 J7 H( R# Q; Y# x& v
- import tkinter as tk8 k O' }' T7 |9 @2 W0 [$ Y
- from tkinter import filedialog
- 3 T* `: X) W/ f/ R/ g2 P1 T* s( k! g$ ]2 L/ T, j. b: V+ k4 B; v
- import requests& w1 d! n, V\" V; A
- from urllib3 import encode_multipart_formdata
- / ^- b+ X\" w# e0 P' c, {2 n. ]0 j/ f
- from os.path import basename) b; G: S) M' V
- 3 T( {' ^, r8 ^ Efrom PIL import Image
- ) x5 l+ v5 T% Q$ B: p. k8 q% K/ d/ r! V
- * }+ P7 D) Z6 N1 Jdef getmidstring(html, start_str, end):
- 4 H6 W9 q$ T) f, Q0 `( B start = html.find(start_str)
- x0 P% d3 _% k0 X0 y. ^ if start >= 0:
- . R3 G- L# }- h# `, K start += len(start_str)
- - N) A5 `6 v1 E) F end = html.find(end, start)/ h) S+ `9 @% O7 o- P l\" R5 V
- if end >= 0:
- 7 ]\" w% R4 o& s- i4 o return html[start:end].strip()# B, A4 ]) J1 ?; y8 k
- 2 j/ ~2 d1 w8 M
- x+ }! E; ~1 a3 M9 udef getTextLeft(html, end):
- , ?9 g l$ a$ f& l start = html.find(end)/ C9 a' w5 o8 s' f1 C
- if start >= 0:
- : S. l' g' Q: R5 c% e return html[0:start].strip()
- 2 s3 F' m& Z# v9 c8 u5 ]( n1 w3 F3 u) _$ x% Y
- 4 V0 x o& @% I
- root = tk.Tk()+ p0 p4 X- B- @0 k- j4 T\" l
- root.withdraw()
- 5 m3 s9 |5 G+ T! q2 h0 e7 x$ M- F7 N2 _8 g# ~: ^
- filetypes = [(
- , C( ]5 S1 e5 z- {7 C* J '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]$ O q4 k( v- p5 N# T7 a
- file_paths = filedialog.askopenfilenames(filetypes=filetypes)& ^4 m# [. _/ L4 I5 M9 T, e, r* o B
- ; W* G( D1 o3 S
- for file_path in file_paths:9 E2 X) C A\" o2 M
- print(file_path)3 z( x( J) O* R* V1 l6 g8 x1 ~
- , ?$ }$ @& j$ I! Q im = Image.open(file_path)
- ( `. w# a+ H' l' C+ E print("image/" + im.format.lower())
- 3 }7 n9 M6 H, V/ |- p( d7 s- G; G7 p! F
- with open(file_path, mode="rb") as f: B8 \* _( W5 p
- file = {
- J/ V: q9 Z; }0 e) A; [3 m+ |7 k+ [ "flag": "1",
- q. g0 S) y, ~7 p1 p* } "pic_path": (basename(file_path), f.read()),7 x1 r. N* Y\" w\" }
- }
- 3 W# M% A; G( \. o. T encode_data = encode_multipart_formdata(file)
- s G4 o' U- j8 v& e E1 t- Y6 T2 }
- ( b- |' I% V\" W; e! J5 ] file_data = encode_data[0]3 C4 U1 w2 t' _# J3 Q
- A( C\" B* x\" d4 f
- print(encode_data[1]); u& d9 w( i y% ^% I
- . ^# h5 w\" T5 f1 [8 i url = "http://pic.sogou.com/ris_upload"5 ~: T, K; ]5 r/ S: |
- headers_from_data = {6 _6 e1 ~) f4 m) g) Y
- "Content-Type": encode_data[1]
- 0 S i5 D$ j; c. o- A: M }9 j9 P) L9 P* X9 B C
- response = requests.post(0 s4 [+ D9 w/ h# E8 |
- url=url,% L$ Q. t+ R) R
- headers=headers_from_data,7 V* d\" K* ^. |
- data=file_data,4 I% V6 M3 B' E9 W6 H
- allow_redirects=False)( x6 J2 o$ e\" y2 P+ v
- response_text = response.text
- % V9 C/ z( o, ~ t% B start = response_text.find("<a href=\"")
- + M4 }- s/ P\" d6 ]$ l: F start = getmidstring(response_text, "<a href=\"", "\">")
- , X\" l# m* p5 n\" @ print("相似图片:" + start)% `; q- Q% Y0 A0 v' Y
- , p/ u7 i: r6 G3 q( L/ W1 ~3 G start = getTextLeft(start, "&oname=")
- / l* L+ u4 a$ }: V5 |\" ?+ T start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
- 3 Q. q& Z\" z2 Z% j7 j4 g1 H. O9 Z, |- s( V
- start = requests.get(start).json()
- \" F% ^0 x5 i+ R% l! N' z print("上传的图片:" + start['query'])# ^: c% E$ P5 K\" `. X v
/ C+ }" Z/ X% t" A% K
" k+ |8 T7 V; ~, q! M4 q* |转发自派生社区
* S7 }$ w" A. M |
zan
|