掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 568|回复: 6

[使用求助] 【求助】GoldenDict自制在线词典(半成品)

[复制链接]
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    / k" w* o) H1 J; d% k  @+ v. _4 D0 a; Q" U! y# ?1 T- x
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    8 M8 \, B) x4 I! y" ]自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:4 b% n' K8 E. g6 f" [0 C
    import urllib3/ b- p3 P0 y- X; I; u
    import io
    . m/ ~6 E- R3 R3 |& Q0 ^/ Vimport sys! h& r- w. z3 G, m( F' }
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')3 J! K" y, ?- g3 v9 T- V

    5 K, K# w2 ^& A  F( ^http = urllib3.PoolManager()# u( V* y% W% ~
    r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )8 M3 n3 R! r6 F: A$ I2 \: E
    data = r.data.decode('utf-8')
    % ~8 o! T/ T$ S  I5 Zcss = """<style type="text/css"># T. c5 x$ M, G  j

    ; V6 t/ C2 J1 h$ _" ^& b$ r }' g$ s0 j6 ~5 G8 S
    . F3 d0 j* @& T# z
    & K9 J4 q' `  m# q% G+ _( e
    </style>"""
    , U3 G" T( A4 {. s! t
    ! w* d' A$ @! L6 O' Wprint('<head>\n%s\n</head>\n%s' % (css, data))
    " R* U3 L; v( s) j# R5 O7 P# A8 i  ]1 w, u
    感谢大神能够指点一二。% J. Z. _. S2 P; V
    0 }3 h! G0 ?# R8 Y2 A
    , W. X$ h3 \  y

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

    发表于 2018-5-14 16:38:08 来自手机 | 显示全部楼层
    不懂py,但可能和sys.argv[1] 这句有关,改成sys.argv[1:] 试试
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-14 20:59:33 | 显示全部楼层
    感谢回复,试了一下,还是不行。
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

    发表于 2018-5-14 23:17:05 | 显示全部楼层
    本帖最后由 须佐之男 于 2018-5-14 23:18 编辑
    8 V( O6 u3 U) X$ R# p1 r
    gttwork 发表于 2018-5-14 20:59
    , h- b+ [! X- j感谢回复,试了一下,还是不行。

      ]1 b& H6 y% a
    1 M% G  [, l1 O! J# R
    1. s = sys.argv[1:]: h" t- n8 w% ?7 A& }
    2. k = (" ".join(s))
      3 d2 g3 T! y6 `% K
    3. j = k.split(" ")" E1 \. u6 g. _; g/ o8 t
    4. theword = ("+".join(j))
      # [' f8 F' z/ B8 E
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码
    ) h2 a* ?7 V; _) V1 W* ~( i6 A
    ' ~+ j  {& `! t
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
      l4 B: r& w8 u0 ?; p, s
    3 K2 R2 U. h3 {! O2 K说实话我也是一点不懂py,但是这个问题其实不难。( N% v- F) G, W2 t- Z4 V, w% y) l
      Z; z6 \- T8 r/ a/ K
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2018-5-15 11:13:09 | 显示全部楼层
    * o; Q. F% F" y
    1. import urllib32 R( s+ T; X. {' Y; y% b+ J
    2. from urllib.parse import quote
      " {/ B5 ]. H+ d( p
    3. import io
      ; `' C2 q. c( ?" j% U- g1 A
    4. import sys
      - ]$ q4 \1 U1 {
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')% D! }  ?# B8 W6 W% s* d4 c

    6.   l  j+ i, W+ P
    7. http = urllib3.PoolManager()
      " M/ p$ n1 [& }6 f+ ]. E6 u2 r
    8. x = quote(sys.argv[1])) Q3 \! R+ f5 h8 T$ V
    9. y = "http://cn.bing.com/dict/search?q="" R8 m) F7 l, g
    10. r = http.request('GET', y+x)
      2 ?7 f0 Z: \; L3 s
    11. data = r.data.decode('utf-8')
      ' }% @/ E0 M5 p2 y* Y
    12. css = """<style type="text/css">4 m! {6 q1 C# `9 O) A- L
    13. </style>"""$ i9 D6 N$ s* V
    14. print('<head>\n%s\n</head>\n%s' % (css, data))6 \% Z- f4 K3 `% s# R4 }0 V( [
    复制代码
    : [; ~# [0 j& i! [; d7 Z
    ; s0 o0 T2 X, X# }4 o& Y
    效果' x3 Q: ?! t; m: m8 d  X
    ) b7 Q- l: A$ F! d0 g$ O' g; D0 x4 e
    % j: q/ q8 F- f3 p

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?免费注册

    x
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17- R& V- L& q' j1 ^4 k# J" d0 Q
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    % Z! v  c6 h5 O, f% r. d% z
    ( X$ [5 J( U" D说实话我也是一点不懂py,但是这个问 ...
    ( y6 W0 r- W% C, y- G2 |
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:13
    5 G! t* {8 A# S; P( [# A+ t效果

    0 U, M: `2 ?8 W7 q: ^非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    顶部qrcode底部
    关注掌上百科官方微信公众号送积分
    关注掌上百科官方微信公众号
    关注微信公众号 pdawiki,获取邀请码,看文抢积分,抽奖得浮云! Follow our Wechat official account "pdawiki", get invitation codes, and play the lottery to earn points (积分)!

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2020-12-3 15:17 , Processed in 0.036999 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表