- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
! H! f+ p9 }) Q - #!/usr/bin/python
- 1 n# m2 a$ [6 c5 o8 L/ d. y$ n/ D# -*- coding: utf-8 -*-
- 6 {; N; l. s0 m) a0 n; w: g K F
- import tkinter as tk1 h1 t. L1 i* M
- from tkinter import filedialog6 K) Q) N2 m$ c, x0 K. N
- / N4 \2 `+ A\" I/ w
- import requests
- 9 N/ l2 F5 W- Z: _from urllib3 import encode_multipart_formdata
- ' Z; @+ Q! s7 g$ V
- 1 L: ?/ e5 j1 p# Efrom os.path import basename
- \" O$ h! w' i& W1 r\" J7 M
- ! ]. A |4 E3 Dfrom PIL import Image
- ; n; r Y6 c- n( K; c- y
- - R- }0 N0 i5 t* o. ?: J0 p0 K3 ^1 D+ Q& X/ F0 O' W
- def getmidstring(html, start_str, end):
- ' J; n' t& C x1 Y2 ^4 ]8 h start = html.find(start_str)
- 4 D+ x+ M; X0 b! L- @ if start >= 0:
- 9 P) c6 p/ E: v9 S\" Y0 q start += len(start_str)
- 7 y$ t& B\" k4 |4 v |- p8 T end = html.find(end, start)
- 6 P6 o2 q: T$ G1 J, _$ C if end >= 0:9 W- f' d0 X, |; B
- return html[start:end].strip()) y; t! D\" Z' q) p) \( |! e' w# l
- 6 u: g8 T$ S0 \% X* B& m) i
- Y, q# g, a% _\" g- Jdef getTextLeft(html, end):, U8 V5 a) R\" v( l+ X
- start = html.find(end)4 Y# x. H% Y9 ~4 b( z0 `5 N7 Q
- if start >= 0:7 {$ K0 X0 r3 k0 C C
- return html[0:start].strip()6 B6 t& T\" ?+ w8 J; D I- u
- # B+ q& O/ E/ H, C8 x- C( E' u* M: R# E3 l' w( q/ Q* P; t( `: M% A
- root = tk.Tk()8 ~! z H\" c9 ~1 @$ e
- root.withdraw()4 [8 I2 \\" v4 w3 w/ u% U
- / _\" X9 }6 W! i9 Mfiletypes = [(9 q! w5 C6 B1 ~6 m. K7 e; u W
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]
- 1 ]( R; T; |! y* z; K4 Bfile_paths = filedialog.askopenfilenames(filetypes=filetypes)
- / S6 M0 [5 t% E
- ' p4 a, }\" I/ R. g' } z* D: Ifor file_path in file_paths:4 f+ b% L: b; {5 G( K
- print(file_path)1 }! Z* h9 x @: Z2 z$ ?
- . c. F0 `3 F* y ^( k( a% _: }
- im = Image.open(file_path)
- 9 Z\" i: N# C; W, b) c% P print("image/" + im.format.lower())
- ) z7 A- E$ C: I
- . z X- i; A) e$ L with open(file_path, mode="rb") as f:' |0 X+ p; m# j& q8 K3 J
- file = {; C% M3 N( M+ j: J
- "flag": "1",+ P: M' U' ]2 a5 ^/ ~2 e. n( r: W
- "pic_path": (basename(file_path), f.read()),2 ]3 U& c- S2 e
- }
- , k) z0 o( g& P+ b1 e encode_data = encode_multipart_formdata(file)( @5 }/ J' u0 ]' R% m
- 5 e5 G\" m! ?5 z0 H$ j file_data = encode_data[0]
- % ~. ~, N$ @4 x, N/ Q: o3 \0 m2 g* \+ b- B. Z6 \$ c
- print(encode_data[1])
- 1 V- z/ t' T9 t5 f, J7 Y# m b& K$ ?6 d2 m2 n4 U! F$ C1 E
- url = "http://pic.sogou.com/ris_upload"
- \" p& ?1 K4 A\" q4 f5 Z) n headers_from_data = {4 J* q6 s# t- c
- "Content-Type": encode_data[1]
- 7 K! O6 }9 c4 I2 _ }
- ! W- O$ `6 z) Z3 f response = requests.post(
- R$ n5 d3 U* y- f url=url,
- 5 j( }: X! B( }+ q$ E, X headers=headers_from_data, v8 Z1 {5 x! ^. @+ R: e, O- [# L
- data=file_data,; A( m+ ]7 J3 E
- allow_redirects=False)
- ' B+ P3 o' C/ R9 O8 n response_text = response.text2 Z, L/ P7 v% u; U2 c4 L |$ N
- start = response_text.find("<a href=\"")/ z# F8 v7 n ~4 e( s
- start = getmidstring(response_text, "<a href=\"", "\">")0 d- @7 F# R! \) s) T
- print("相似图片:" + start)6 @, g9 M, @8 A1 j
- : W& b$ y2 |* j/ v
- start = getTextLeft(start, "&oname=")
- , c1 O2 w2 P9 \\" @ start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result". D Z$ x8 A: B P* `+ L6 y
- ! l\" i( n% _# r# I start = requests.get(start).json()
- % M' N' C2 T( k' n, G/ p+ x print("上传的图片:" + start['query'])7 C, Y V- s& h/ r5 j1 f
8 F2 h! D) q7 h# R9 [, c# v* n' ?
' O: |# u4 r& w4 i8 w6 b# K8 }* E, T
转发自派生社区
) I U+ m9 k- g: w4 q! L% V |
zan
|