QQ登录

只需要一步,快速开始

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

Python-搜狗post上传图片

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-11 08:42 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
3 ~% f7 N. @- I' _  v$ g
  1. #!/usr/bin/python8 p9 i\" R9 g9 J' \0 R! |, E
  2. # -*- coding: utf-8 -*-
  3. * `8 ^, \9 b\" F$ O/ M
  4. 3 U* Q; w+ [: I9 M# Q5 o\" @  Aimport tkinter as tk  J# J' V8 W) V; h\" p
  5. from tkinter import filedialog8 |2 ]# @: ^+ O

  6. / z9 Z# \' _) t3 G+ s4 rimport requests0 z( J: l) X& F! x
  7. from urllib3 import encode_multipart_formdata1 u  g+ N1 Y: ~' O0 A

  8. 5 r5 c* \; G! X& r1 Q% ~- }from os.path import basename% o9 w: I* I) O/ Q+ ?% N

  9. \" ~) Q% K7 f3 ]\" @) X. a, }\" Pfrom PIL import Image
  10. 5 w! V0 ^% ~! A4 N% n3 Z0 y: k: U/ R. |- o: t5 K& X1 j6 c

  11. - i( G7 m( O5 ]6 G, tdef getmidstring(html, start_str, end):
  12. 4 @# u  }; q$ f9 w1 V% o4 \) H9 I    start = html.find(start_str)& s# ^9 q% o/ H4 i% ~/ n
  13.     if start >= 0:6 f- f3 Z* n: x# f
  14.         start += len(start_str)* I$ [5 G% V! J0 q5 g7 n2 m* R
  15.         end = html.find(end, start)
  16. $ [\" `; }  p. s- p* m        if end >= 0:
  17. * _& N2 B+ d$ s0 G3 S6 A            return html[start:end].strip()/ T3 X8 l5 L6 r( s. Z* \+ H\" j2 x3 F

  18. ' ^. {/ {0 {+ O8 K
  19. # L5 \' B. B: U3 ?5 y2 |def getTextLeft(html, end):1 [' O  [8 `5 z2 Z\" f8 t7 S; B
  20.     start = html.find(end)4 r3 N  Z; J# `- G
  21.     if start >= 0:, j/ @7 Z$ O8 V3 y; g+ C( B  _* @
  22.         return html[0:start].strip()
  23. \" k, z/ h) m* }3 ~7 t, M7 t# i4 P8 p; x

  24. 5 k/ l6 w6 K% Eroot = tk.Tk()
  25. 4 C  P  s3 F1 t  t, [/ U\" I. Qroot.withdraw()4 p/ L. ?\" R1 ?; f7 p' D
  26. 8 r$ T/ ?3 }6 g  t3 x# Q/ r' B
  27. filetypes = [(
  28. ) ?2 X6 U1 e7 A' U    '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp')]
  29. 4 Q6 _8 o! T/ Y2 K* \1 e/ Efile_paths = filedialog.askopenfilenames(filetypes=filetypes)2 L! e* v4 L\" b1 q% ~
  30. % {( b7 X! l/ M6 [& d+ U
  31. for file_path in file_paths:0 M- ~8 F3 w% J
  32.     print(file_path)( ?\" q0 J* D; T' w
  33. ( z* [; R4 ~1 [  j5 x
  34.     im = Image.open(file_path)\" x3 B$ n* {  r, i5 H- f
  35.     print("image/" + im.format.lower())/ q: l9 T7 q( J% t. I

  36. ! i) i! k5 S0 X    with open(file_path, mode="rb") as f:$ F( |\" k6 \1 L1 A: f
  37.         file = {
  38. 5 X& e* |8 L% j! h! X2 Q            "flag": "1",9 v- E9 B% q' n1 o! H\" I
  39.             "pic_path": (basename(file_path), f.read()),5 M9 e4 V: G% j
  40.         }
  41. 9 O6 p( ?  I! h) X& h5 `1 Y- l        encode_data = encode_multipart_formdata(file)
  42. $ e9 @* O9 ^; X) N, m/ Y
  43. : ?; A  m! B! |2 y8 g        file_data = encode_data[0], s3 X4 B- l: p! V. }. [
  44. % i# e% \5 C/ F( G; `1 A- P4 [
  45.         print(encode_data[1])) p/ Y' z2 C# y# e# `

  46. & r2 Q7 T. Z7 e6 e    url = "http://pic.sogou.com/ris_upload"
  47. . W6 u1 B+ A. a# d) [    headers_from_data = {
  48. 0 _; x0 J4 J# |! W$ a        "Content-Type": encode_data[1]
  49. . _: k4 W$ J* M2 F% Q, d# l) F    }
  50. / c% V8 D* p; ]8 u    response = requests.post(
  51. $ n6 N# `9 W7 Q4 a        url=url,
  52. / @3 ]1 j3 J2 N) Y, f8 m& S        headers=headers_from_data,
  53. 5 c$ B( S$ \8 p; ~+ l        data=file_data,
  54. : H. Y  g6 W) i        allow_redirects=False)
  55. ; P) T6 b3 g2 m$ Y2 E! x; ?    response_text = response.text' n, w8 Y- G8 J. \2 l2 N& |: d5 ^0 `
  56.     start = response_text.find("<a href=\"")
  57. ) A; ?0 @# j- z- }    start = getmidstring(response_text, "<a href=\"", "\">")
  58. ! ~. V$ Z% @* M+ R4 L$ E    print("相似图片:" + start), }\" p# U\" D( B' V: ^
  59. - n% M$ [; g: x6 p, l
  60.     start = getTextLeft(start, "&oname=")
  61. & P' V8 p  M. V    start = start + "&flag=1&reqType=ajax&st=12&reqFrom=result"- v/ D' ]$ c1 {2 K0 E

  62. * W3 D4 @4 W) [    start = requests.get(start).json()
  63. ! I, W6 W+ P* F% C: S    print("上传的图片:" + start['query'])3 O4 E$ H2 U, q+ E, p5 ~

2 `& a) u" G4 s4 J" |8 ~6 ~  r4 C- ]
转发自派生社区
6 @* k, u% V0 r1 K9 a8 c  ?0 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 09:57 , Processed in 0.474751 second(s), 50 queries .

回顶部