QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3327|回复: 0
打印 上一主题 下一主题

Python-搜狗post上传图片

[复制链接]
字体大小: 正常 放大
檀俾九        

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-11 08:42 |只看该作者 |倒序浏览
|招呼Ta 关注Ta

* q6 z2 H' Q7 j- O. |. d! _9 B
  1. #!/usr/bin/python( z: f+ b\" Q9 Z; Z7 t' s
  2. # -*- coding: utf-8 -*-2 w1 e5 o: N\" R: p+ {( U

  3. ) D, O9 S! S1 I$ o  S0 ?8 Y- Rimport tkinter as tk
  4. 3 [4 G, |5 r) _from tkinter import filedialog
  5. & w* d; m6 s1 j1 _/ ^  l$ l8 s7 @+ y+ V# {. P) H( @
  6. import requests+ x\" g* w( d5 W\" H& s% x+ |, v
  7. from urllib3 import encode_multipart_formdata
  8. # \$ @+ P( `, I5 b9 ?! I
  9. : X6 {0 ?4 F. [8 Tfrom os.path import basename7 r. n% l( w5 ^, s\" k) I

  10. 4 @6 X% i4 ~. @5 s2 ifrom PIL import Image; |8 n7 P0 n) y) T) K

  11.   J) _- P* S5 K0 Z7 I1 L- i. e! F0 L
  12. def getmidstring(html, start_str, end):8 P* e: @  p4 `) q
  13.     start = html.find(start_str)8 @, I2 @+ F\" ~+ K1 L; G+ j- m! y
  14.     if start >= 0:
  15. $ q\" P0 H( L1 y        start += len(start_str)
  16. ) T  \0 j9 o, U* I5 b$ ~4 P8 Q9 N/ z        end = html.find(end, start)
  17. 1 M5 {0 y! U) a$ D8 N$ r        if end >= 0:! h  w. I& |; {1 K4 W
  18.             return html[start:end].strip()
  19. ' V- m2 q4 [, T' w0 T
  20. # \. t- x& T- t0 p. t5 |
  21. ; h! N) q& @$ z5 l% s* Wdef getTextLeft(html, end):3 `9 ?2 g& L6 r; J+ D
  22.     start = html.find(end)3 y; J. @$ P$ ]% M
  23.     if start >= 0:
  24.   E$ w& U: y* J$ B7 K\" _        return html[0:start].strip()
  25. , e+ @0 n2 Q5 V; j( k' ?/ u/ ]) p& t+ t0 n6 t1 z

  26. $ }! N8 W% Y/ Troot = tk.Tk()
  27. ' z4 K) ]1 R7 V+ J; \, d9 C& @root.withdraw()0 {) I, D' N5 r- |3 z$ }% a
  28. 4 a$ s\" R- V) @& C! x0 S5 q7 C. r
  29. filetypes = [(
  30. 5 g' y: `2 z! O. a4 ~    '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]
  31. % E4 t( Z+ T( l) @- pfile_paths = filedialog.askopenfilenames(filetypes=filetypes)7 j7 k& [/ |; O
  32. 9 l) J; G: z% B: B7 D
  33. for file_path in file_paths:
  34. 5 i  \( |0 s; I6 [    print(file_path)2 u' K0 `+ X( V, X; U2 h( N' |+ m

  35. ! E7 A3 V7 P0 A2 `. |    im = Image.open(file_path)
  36. # S0 N% g9 n  u    print("image/" + im.format.lower())
  37. & E8 w( R\" {7 K% z' O) C. ^4 V7 i, u, f- p% j$ e
  38.     with open(file_path, mode="rb") as f:0 k3 E! T8 q: h, B  H
  39.         file = {
  40. 8 ]* }& |# n: u. D6 n4 V            "flag": "1",' Y, Z2 X8 `; N
  41.             "pic_path": (basename(file_path), f.read()),
  42.   [  N( p( @9 G2 J! {        }4 n! y/ j$ o. q# y! S
  43.         encode_data = encode_multipart_formdata(file)
  44. % A; E3 e) a9 J: o- \) U. P- G
  45. 3 V$ O& T5 `8 z( O4 }4 Y8 Z        file_data = encode_data[0]% ^1 H0 b) }' E4 k2 a6 a3 v* A
  46. ) ]! t, w0 S1 ^; i2 r
  47.         print(encode_data[1])
  48. + P/ k% y& s/ O& v* o$ P\" U# n$ i! e6 C7 B6 h: {1 l2 c
  49.     url = "http://pic.sogou.com/ris_upload"5 W$ v8 D8 D0 l
  50.     headers_from_data = {7 q1 @8 Y/ m& O/ D
  51.         "Content-Type": encode_data[1]
  52. 4 f; v5 `  K' [+ _; r+ h2 B/ Q    }
  53.   D; c! R; f$ I) L\" X4 K# L+ q    response = requests.post(% Z; x+ u- Z% w% K
  54.         url=url,; t. Z+ g7 ]6 |% K5 N
  55.         headers=headers_from_data,% S( c' ^; G\" I/ P- b  k0 N8 w! l
  56.         data=file_data,
  57. 8 C. D! _) `6 q8 [4 j$ J4 R        allow_redirects=False)! A1 B9 [\" I( [. G; I7 C) n1 Q1 X
  58.     response_text = response.text% q6 W7 u\" r% y
  59.     start = response_text.find("<a href=\"")
  60. $ H6 }* y0 Z- K9 k; _    start = getmidstring(response_text, "<a href=\"", "\">")  Y  x% [9 ~6 ~6 U% K
  61.     print("相似图片:" + start)
  62. . e: m5 m0 _2 @9 k1 B4 w7 s2 W' q5 o6 o- T8 k/ e  O
  63.     start = getTextLeft(start, "&oname=")
  64. 4 [% |\" p( z/ \& ^' i7 F    start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
  65. ) R# s  X  K! b' d9 L+ Z: E/ P. _7 }% I. I- \
  66.     start = requests.get(start).json()
  67. \" v  K' e5 E. A  Y    print("上传的图片:" + start['query']). R; R\" [# i5 d# U
* m1 N3 }0 B: S4 {- n' o

1 h6 _7 @5 y5 Y- a转发自派生社区
7 F7 I( ?* t5 U4 G  y
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-7-18 06:16 , Processed in 0.620934 second(s), 50 queries .

回顶部