- 在线时间
- 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& u+ [+ O; L" R/ J# \6 L3 q
 - #!/usr/bin/python
- 6 O\" h/ W4 D& r5 f# l Z# -*- coding: utf-8 -*-
- - P1 g5 c2 f9 Y\" i! a\" X# D3 u* ]) R\" L, A! z \
- import tkinter as tk
- & S- |. l$ }, @\" D* ~( Ofrom tkinter import filedialog9 k4 u2 l; L6 K U4 N
- * ?: v% X\" z5 d
- import requests
- 8 f) A. X+ y\" S( R+ {- Zfrom urllib3 import encode_multipart_formdata
- 0 k+ K8 o\" O) y' R
- 4 v8 F+ |* z& y7 m( F* qfrom os.path import basename0 L0 o- t* ~9 o& M3 s3 \6 Q( l
- : x8 g. e, r' b/ B3 S7 G2 A$ |& ^from PIL import Image+ }9 L3 y' `. _% o. q4 P$ ?
- ! C) r9 h7 s& C# r; a6 f; G3 h/ I. L; T
- def getmidstring(html, start_str, end):6 z! o& M- d% v. y$ ?
- start = html.find(start_str)' r. `! H* K/ Z4 F: r) N
- if start >= 0:: z! Z& C# _3 `4 z- M% R! m Y
- start += len(start_str)
- / ~1 Q. N\" i B/ K; D5 K end = html.find(end, start)
- 3 H0 l0 a3 O0 T) f# z if end >= 0:% K% \\" \1 m7 a8 H
- return html[start:end].strip()
- 1 M7 M7 k' |6 M0 S6 g: M
- 4 h3 K! t# S% J
- \" e! g4 m* ]- C# B3 odef getTextLeft(html, end):
- + k\" x, p\" v$ f' {2 j8 { start = html.find(end)
- d9 i4 ], w P, p, Z0 P# G if start >= 0:
- & p; C* g9 s( e8 @+ k; l0 p; N return html[0:start].strip(). l I* G% q- K* u2 {: k- \
- 0 Z. u- f* f+ M H; T) g
- % D% A$ c( x& w% Sroot = tk.Tk()7 \9 c- J; m# R# v3 I! a5 M% p
- root.withdraw()
- ; ]4 L/ N$ f' [* w; O1 y) I
- ( {3 ]9 p# a: dfiletypes = [(
- {1 {: Y* C1 \4 a% E* ^- t '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]+ Y( l( k ~3 x2 p9 n
- file_paths = filedialog.askopenfilenames(filetypes=filetypes)
- 9 A5 U* N% l8 l6 _* ]\" {
- 4 @! ~* w H; H5 `( V- J/ a+ |for file_path in file_paths:5 a1 P1 }3 f% B/ k) {' I\" z& }
- print(file_path)9 s; G6 |; _8 t+ I
- / ]. X1 o; j2 h; z im = Image.open(file_path)4 T4 ?) L\" R* `9 B8 O9 k\" L+ M3 r
- print("image/" + im.format.lower())
- ; f# X0 C/ v7 S* A
- 0 z/ p9 }9 I6 \, `# V with open(file_path, mode="rb") as f:
- ; P8 {: n* B! f& G. p file = {: g7 |$ J5 R- L* x, J4 ~9 z
- "flag": "1",
- & e' W ?0 g/ |* w3 G) U0 Y "pic_path": (basename(file_path), f.read()),
- & y/ o! l* i: J) U ]' L8 V }+ W+ N# r7 T- B* f$ X
- encode_data = encode_multipart_formdata(file)\" F- R% I0 L7 c# }
- ; M u2 M0 M1 J file_data = encode_data[0]
- 4 M1 y* t' e) V2 `9 d' O
- . m\" X u) M8 b\" Z print(encode_data[1])
- $ ~! F, @6 h7 A# @0 q- B6 k/ @$ u/ C# T6 Z8 s
- url = "http://pic.sogou.com/ris_upload"
- : B* D+ m6 h+ G1 y headers_from_data = {
- & ]7 }# { l* D& R+ j6 s "Content-Type": encode_data[1]
- 3 D9 k& \% B0 A+ y }# q* B6 \# ~' q2 L }6 G
- response = requests.post(
- & p8 t\" X6 q- C url=url,
- 5 `\" u$ [\" C3 ~2 `5 | headers=headers_from_data,
- : [) K( o' l4 B3 G% w data=file_data,. x8 m$ Y3 l6 S3 Q6 Z
- allow_redirects=False): u2 B# H2 T e) t% p# P& u/ P
- response_text = response.text
- 6 V2 v. d: ~% |; m start = response_text.find("<a href=\"")# i% P) ~, b% F# y, K& ~- l( P; t\" P
- start = getmidstring(response_text, "<a href=\"", "\">")
- Y' ?, P1 P) ^0 S% J print("相似图片:" + start)
- $ [1 D1 W4 k4 o$ d% t6 J
- , t$ K5 z9 S) ^# L- }: w& P7 K start = getTextLeft(start, "&oname=")3 K+ m5 o& k! N, Q& _
- start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
- - K2 w2 @2 Z, X; Q, @; _
- 6 q! A1 S% q% Y start = requests.get(start).json()
- 6 `9 v% I8 {' Q print("上传的图片:" + start['query'])
- $ _3 S* r( |8 C; y
0 o/ v4 r- l3 c' l, e) E5 }$ I3 d6 U
" z# O& |; l( K5 W8 y转发自派生社区
. ]: G( T0 e) r" e& I# \ |
zan
|