- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
! _* J N$ _9 |& O
 - #!/usr/bin/python
- $ R4 |5 f: E5 i# -*- coding: utf-8 -*-
- % E* W% r( I/ C$ M' ]9 o- Z% C8 B5 c3 S8 V! ~) {% y. J
- import tkinter as tk
- 9 f* q- N' O4 e c2 Rfrom tkinter import filedialog( O7 B* C) ]5 k( d
- ) c( L- Y$ U\" q; k+ a: u. B* [4 d- e
- import requests
- 9 V/ g! x o' gfrom urllib3 import encode_multipart_formdata; h' R# w9 c0 S0 B4 p* w
- : p* ^* Z: ~& r
- from os.path import basename
- ! p' f2 A# n4 ~( a2 l' [9 N5 l- B- C4 U4 i( o- O\" ?3 ?4 w
- from PIL import Image6 t& F8 P& n, g- R0 G
- . A' C2 o: N5 S% M. U
- 8 a: \4 S3 ~% M9 Ndef getmidstring(html, start_str, end):7 K5 v+ e7 j- S& o a, f
- start = html.find(start_str)
- 7 g7 `% `& L* \# W if start >= 0:0 b1 j7 L0 k% Z% i, z; K$ x
- start += len(start_str)& o3 j2 t6 t) ?9 Y7 |: y+ s- n7 {
- end = html.find(end, start)! c5 P- y( T/ `+ ~
- if end >= 0:! L+ F. f* B. A7 D$ w5 P# b! v6 v# @
- return html[start:end].strip()
- \" Z: }# {* {/ d1 |; Y' L9 a* B; \ K+ E1 L
- , o. b- ?/ q) G. ]def getTextLeft(html, end):
- 2 @7 \+ R8 e0 }' S4 K9 _ start = html.find(end)
- G: u/ G, }/ W9 X7 g6 C7 r if start >= 0:
- 0 \8 U$ _3 g9 n/ y* K* M return html[0:start].strip()& n, }( n$ R3 N1 x, g
- \" K( B& I g8 s7 N0 O% G% N. I. z8 s, a) M1 Z2 p9 ~+ L+ {' v
- root = tk.Tk()
- 5 d6 ?1 B\" B\" e0 I* croot.withdraw()
- ( d% b. c& p5 ~- v$ N) F, i: O, ^, W
- filetypes = [(
- H) r; ^0 _, z+ M6 N '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]\" Z1 \; T- T: U2 C% v
- file_paths = filedialog.askopenfilenames(filetypes=filetypes)6 F& i9 c2 d: m9 e' q* \8 m
- / V1 `- G. z\" N( f! h6 c4 Q3 j
- for file_path in file_paths:
- 8 b0 d6 ~% c* [0 u/ k print(file_path)
- : X8 \0 A! F# A8 ?
- + n/ C! w# y8 B9 [4 `* i\" ` im = Image.open(file_path)
- ) F/ A6 M& g) Z: u2 } print("image/" + im.format.lower())* ?% p4 S- V' L% Z3 N1 h7 B9 A7 T! s; D, d
- 8 d/ I M\" B' ?, [+ P
- with open(file_path, mode="rb") as f:# Q3 b: B) r! j& }/ k
- file = {* [\" J j' U7 z y) O7 |5 {
- "flag": "1",
- , z; H, L1 V o T3 z4 t4 S7 b "pic_path": (basename(file_path), f.read()),5 {5 }1 W1 n, ^* U8 _
- }
- $ C+ m( m9 x) v% E encode_data = encode_multipart_formdata(file)% f6 m- L: u7 r! y) b. G3 U. c
- 1 O1 c. |5 D0 S: o1 m7 ` file_data = encode_data[0]
- ; r* ?8 g4 ]; F8 X6 Y
- 0 B5 h; D8 D$ H8 N; D print(encode_data[1])% R' |. x% y' D5 `. Z* }
- ( p {0 [& d\" z0 z! N: y9 `3 A url = "http://pic.sogou.com/ris_upload"6 {) R. A7 N* V: X! \
- headers_from_data = {
- 9 E6 `9 T u, j% r8 Z! Q+ N "Content-Type": encode_data[1]5 f1 M5 F6 ]/ r$ |. _6 c, O
- }
- 1 s3 }0 S6 r\" j W response = requests.post(
- / m* |5 e- g1 o$ M$ I7 u K url=url,
- 6 a# x3 x$ Y* N; u headers=headers_from_data,
- 9 W& d3 R6 n\" m) w# x/ ?( o2 n7 W data=file_data,5 Z; u) f, }8 Z/ j+ g3 e, t
- allow_redirects=False)& v& f9 j2 G; R+ m
- response_text = response.text- I2 w& ?2 }, V9 y |: q) _
- start = response_text.find("<a href=\"")2 T$ b+ ~2 g( ?. l
- start = getmidstring(response_text, "<a href=\"", "\">")% ~8 t; Z6 t6 V8 l\" m
- print("相似图片:" + start)$ _8 k- f. T. f* U0 C- _) Y
- 4 g\" b! _& K3 s8 u7 w+ b
- start = getTextLeft(start, "&oname=")% O3 g+ k% J$ v0 x( h! A. X
- start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"; X; p/ s4 ?9 a- D# |
- $ o% z; \6 \% `0 l
- start = requests.get(start).json()! R1 Y1 s% ]+ U; u0 G
- print("上传的图片:" + start['query'])
- & ?. a; Z& T' ^7 Q\" N) c
0 u0 e: s {; U8 Y6 F5 U e5 y% f0 y. G# |! e
转发自派生社区: u8 Z: u' p! J9 }0 h2 n# d2 P
|
zan
|