QQ登录

只需要一步,快速开始

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

Python-搜狗post上传图片

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-11 08:42 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
) @+ N1 {) B( q" F" w% ^+ n% G
  1. #!/usr/bin/python
  2. ( U3 U% B' f2 p7 u& m2 N# -*- coding: utf-8 -*-9 b/ ^6 r3 d\" N0 ]

  3. + H! @# N9 f2 iimport tkinter as tk8 S% q  o0 A# L
  4. from tkinter import filedialog. O8 ]6 V, x$ G7 n
  5. 1 J' M8 x- x2 k
  6. import requests
  7. 2 s% w, C. f2 Jfrom urllib3 import encode_multipart_formdata' [\" K& {9 w7 d6 c7 Z
  8. $ ~# S) ^* v: N8 Z! t# \3 E+ f  s9 V
  9. from os.path import basename
  10. 1 q8 v- l' I8 @1 G* p  g: u) Z- t; `/ n; f, H4 S. B
  11. from PIL import Image
  12. % {2 L5 O* V' E/ F' T3 J: D6 e( d& a% \( |  U! I! v

  13. , p5 M# {: z+ Qdef getmidstring(html, start_str, end):
  14. 7 z, C- _: e% v( b5 h3 Z8 A4 `    start = html.find(start_str)
  15. 7 h9 m) }( p1 P, E) f# E# P    if start >= 0:
  16. 9 q' R1 ?3 A0 J        start += len(start_str)
  17. 8 O! S# V- S% R1 f% l. E        end = html.find(end, start); _) b. o+ y\" h3 `( X
  18.         if end >= 0:
  19. * E7 R+ G8 I\" Y\" s) \/ W            return html[start:end].strip()
  20. ( b* k: w8 E) F; A2 ^' ?
  21. ; C2 Z  [: G+ Q9 }% g& [, v- l( ^& V
  22. ' A% z( Y, |$ r/ w* ^9 ddef getTextLeft(html, end):! n* f% \0 A9 w( L0 I6 B- d6 y
  23.     start = html.find(end)6 c; D3 t4 L5 p) O0 ~
  24.     if start >= 0:
  25. ) D4 X2 D( V6 |! b  q3 c        return html[0:start].strip()8 z* Z0 L. T) c. l\" G, B/ a; |1 C

  26. * T\" J# P1 i6 |- M( G; M- e9 O0 r8 b1 @1 Y+ @5 c# c
  27. root = tk.Tk()- N0 o& `  h. F. q
  28. root.withdraw()
  29. 4 ^5 N4 Q; U8 q' d4 A4 V  G/ _
  30. / X3 J! f) T+ z4 O2 Xfiletypes = [(6 e8 h  m* c$ r$ {
  31.     '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]0 O. Y9 d/ n, F! m- n# Z# P8 Q9 x3 b
  32. file_paths = filedialog.askopenfilenames(filetypes=filetypes). s. S6 S' W2 i0 D( G3 r

  33. & M3 {4 ~3 m: o8 p( m! ^: ufor file_path in file_paths:
  34. 2 A+ {7 T! i% P, J+ h( r    print(file_path)5 _* W# u5 E, W\" H( d3 ~) ]
  35.   M4 v9 p' \- n1 {
  36.     im = Image.open(file_path)' b7 j4 C: _# X# \/ g  S6 o
  37.     print("image/" + im.format.lower()): ^3 _& H% k$ s4 \3 Z

  38. ! R6 T8 r* g: U$ o/ k  K    with open(file_path, mode="rb") as f:. ~2 c  z) v5 c0 p4 i; G
  39.         file = {& t3 Z- y+ R4 t) h
  40.             "flag": "1",3 s. k! ?2 N9 r4 _, V1 i
  41.             "pic_path": (basename(file_path), f.read()),- x3 Z  ]# t9 C& M8 m
  42.         }
  43. ) Q: V0 B- s0 h# P& w$ x4 M( t        encode_data = encode_multipart_formdata(file)5 M* r& m  w# O: l' k\" W' H
  44. 8 ?* c0 g# Z1 k  X
  45.         file_data = encode_data[0]5 a1 @1 b  X3 k8 r
  46. 9 {& |6 u- k& S/ R* e' m
  47.         print(encode_data[1])
  48. 2 O0 F8 l0 ]0 v0 q4 _3 h2 w/ d+ J8 q2 p
  49.     url = "http://pic.sogou.com/ris_upload"\" }. C1 F& d5 v# T- q
  50.     headers_from_data = {! C) ^! }& {/ P) I' j3 Z
  51.         "Content-Type": encode_data[1]* L; A3 h( K/ [8 V& m1 N  Y9 ]6 @
  52.     }
  53.   u; `\" ^\" Z( {! ~5 I& s    response = requests.post(
  54. 0 }# l\" O# d/ U, |; [3 i# V! {& j' s        url=url,0 _% p' J$ \) V: g/ h, t* x: k
  55.         headers=headers_from_data,
  56. * u  |* B2 f# k! s6 P2 X+ Q( W        data=file_data,
  57. 5 `& n7 N1 ]* Z$ v0 T' Y# s) |; R        allow_redirects=False)+ S8 M1 l  f: w
  58.     response_text = response.text% O6 G: y\" k1 ?. r8 r/ C& U9 a0 H
  59.     start = response_text.find("<a href=\"")) G- k/ q0 g4 S\" A
  60.     start = getmidstring(response_text, "<a href=\"", "\">")7 m0 f% J) F6 ]( |
  61.     print("相似图片:" + start)8 I  R' f! f5 S/ g# b2 j0 h

  62. 1 [+ s' Q+ G, K6 n' Z3 f    start = getTextLeft(start, "&oname=")5 [/ Y8 g: {3 N% C
  63.     start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"4 j$ ]! _+ _/ L

  64. ( F# `# [( ]& `% r6 B6 I2 }    start = requests.get(start).json()
  65. ! s3 r7 R7 Y+ ^' p8 @  J    print("上传的图片:" + start['query'])
  66. / V! E% ?# r2 T  m1 m& [* @5 ?

* D2 X0 c. k. W  R
4 a5 p' w, y8 r9 y0 k转发自派生社区+ x7 b& x- l. d4 {* }6 M
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-6-4 04:34 , Processed in 0.373812 second(s), 50 queries .

回顶部