QQ登录

只需要一步,快速开始

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

Python-搜狗post上传图片

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-11 08:42 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
# G4 {+ F. f+ R9 L# m
  1. #!/usr/bin/python
  2. ) ~. V2 N2 |) f5 o# -*- coding: utf-8 -*-
  3. 7 \9 A# s0 T7 ~) P9 Q  b: c/ N4 A- ]4 q, H! E, y2 N
  4. import tkinter as tk
  5. 0 h\" D1 N$ d( h! e& afrom tkinter import filedialog
  6. 4 X6 Q8 I) G* k& Z% V- b+ ~( X$ M9 g\" t) ~! t
  7. import requests6 p' Q7 k# Z2 L% h  u2 u5 j
  8. from urllib3 import encode_multipart_formdata
  9. ) P# h1 a9 }  C3 j
  10. 9 t$ N. _- I4 `6 s- \from os.path import basename
  11. : `3 R  g8 Q\" Q9 _
  12. / t  J7 ?; N# F1 s9 V+ h5 _5 s+ efrom PIL import Image9 G8 e2 L5 M% h! C+ W' S$ f/ ~

  13. 7 [5 F- z& v6 h
  14. : J% n/ M) N) b5 j$ \3 @def getmidstring(html, start_str, end):' X; L: L# c\" p1 O\" j  P0 u- u
  15.     start = html.find(start_str)
  16. 0 {0 l3 U# c# }  }% P    if start >= 0:! `) ~8 I0 ?- m
  17.         start += len(start_str)
  18. $ M9 U5 ]( r, k; E, |        end = html.find(end, start)
  19. & X1 f) ~5 z4 v        if end >= 0:( x9 m0 V0 r& E\" r' q\" i, [
  20.             return html[start:end].strip()
  21. / \& F) i6 `: u8 A4 ~5 I* e/ N, F\" [4 n2 w3 @3 H! j$ w

  22. 0 H6 y/ [0 G- A4 U$ j- Kdef getTextLeft(html, end):
  23. & C+ ~$ d/ p  ^\" Y    start = html.find(end)
  24. & g# h8 n' A; \1 j    if start >= 0:, H0 Q+ v2 U: }1 y& R
  25.         return html[0:start].strip()
  26. 6 M1 }9 \3 q: [8 }& J2 L
  27. ; l; U; \7 J' f8 T' E5 w) \, E! N
  28. root = tk.Tk()
  29. ! \2 p# C: y+ V' a% b, S9 Mroot.withdraw()\" a5 X8 H* R5 [  w3 H
  30. 9 t7 f0 b# m: Q# f
  31. filetypes = [(
  32. 6 N7 M5 U\" s' x* @( e    '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]
  33. 6 Y% S2 a& m  M6 U( s: k& l5 p( {file_paths = filedialog.askopenfilenames(filetypes=filetypes)7 x5 [6 w3 V& D; y2 M2 X1 g
  34. % B. w  G7 c5 m2 s, h/ G
  35. for file_path in file_paths:\" w6 A4 ?3 O& [
  36.     print(file_path)
  37. # _9 P5 b& _8 W2 D+ p
  38. 1 ~8 _\" \& ~% U  y/ i% ~1 L    im = Image.open(file_path)  l& x& N9 \2 q\" A8 p- x
  39.     print("image/" + im.format.lower())
  40. % L9 s/ w0 v( C; e\" O$ X4 B6 H2 ^! C  Z0 |7 M, R9 A+ h% b2 S, r
  41.     with open(file_path, mode="rb") as f:
  42. 6 h  e, a5 J7 f3 b! S. B* S        file = {
  43. ; J5 d6 J% c4 y4 T9 ^8 E6 w            "flag": "1",; O+ y: F; W- w) Q* w! B/ @0 ?8 R
  44.             "pic_path": (basename(file_path), f.read()),9 i0 d% S/ c7 P. X% ]! A) u
  45.         }
  46. 8 k: D6 P5 n/ q0 U5 Q% h( }        encode_data = encode_multipart_formdata(file)6 @9 v/ q3 `: D4 Z\" ?  B. }4 s$ G

  47. ( O1 m1 g3 \! H/ @: k  H4 U4 z        file_data = encode_data[0]
  48. 7 D2 |( f\" U6 M- x\" f& e/ i+ M! Y  |. ?
  49.         print(encode_data[1])5 i; v3 h. L* J
  50. + L! s' D7 @: W) t. w
  51.     url = "http://pic.sogou.com/ris_upload". O' [3 e- _' O8 J$ j
  52.     headers_from_data = {
  53. # N7 [2 @& W# X  B        "Content-Type": encode_data[1]
  54. - e2 x- R# d9 T/ U/ K7 n; s    }
  55. ' E* E3 }/ `# W! s' D    response = requests.post(
  56. # _( O, {* L2 Y5 m        url=url,
  57. & t7 X& U& f. f6 Q. [        headers=headers_from_data,
  58. + p0 |- v' @  K( \$ [( {; V, _        data=file_data,
  59. / P0 _* M) i% c        allow_redirects=False)
  60. - Z; V* Y3 x2 E8 l- ~4 a, g2 w+ M    response_text = response.text# C\" ~  r- A8 W' g7 l. c- C
  61.     start = response_text.find("<a href=\"")
  62. ) ~0 @9 g) K& R    start = getmidstring(response_text, "<a href=\"", "\">"): Z% L  a% ?. f: ~5 K  Y1 T
  63.     print("相似图片:" + start); y' h. T: W1 p- j

  64. ) t& N) X. c. l9 t\" ^( X    start = getTextLeft(start, "&oname=")
  65. 5 O; V) g$ C2 y    start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"
  66. # z) b# T$ `- V# ^1 G1 X. `
  67. 1 R( a: u! h# @\" w( s# \1 k# ]9 Q0 M    start = requests.get(start).json()
  68. / d7 J% u( X  Q; n+ `5 d% v( p    print("上传的图片:" + start['query'])5 P6 F$ D8 r0 \* g: q0 E
/ W3 O1 j0 a; E! \
. f3 B6 M* C7 \' o
转发自派生社区, S) \8 H7 M/ |3 |8 T
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-9-2 13:25 , Processed in 0.405146 second(s), 50 queries .

回顶部