掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 631|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    , G: i  i& I3 _8 d6 D- \" o) |, ~; o- u6 M  T" J+ }
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    6 p- e- h7 @/ F  D自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:; t+ i# c' Q1 K) q3 F
    import urllib3
    ! V% H. x: W7 X1 limport io, k. `- h/ f  x# e
    import sys' H0 W5 C  f0 z+ A  }( l( \
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    9 l) A; T0 K7 N- S7 _1 S; C9 `( L
    - V  \5 n: q# B) \4 mhttp = urllib3.PoolManager()
    * A1 V7 ]8 u" U8 V2 w: j- z- Sr = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    " a- D0 _# x2 @5 F3 m& _- g2 Kdata = r.data.decode('utf-8')" ]7 H3 }& J2 v" M
    css = """<style type="text/css">
    - j* {9 P$ E9 i: g. _7 W+ L7 B( W4 U) W# Y
    }
    , M* M- P8 @+ o  v) b1 m
    2 Q3 _" ~& r% {. L
    8 A$ y/ o' h1 s1 w</style>"""
    , N3 g  ?6 `+ r3 }$ |/ \8 [9 y" ~1 o
    print('<head>\n%s\n</head>\n%s' % (css, data)); {% L9 x- B" O+ w9 g  X
    ( k2 }0 x4 S7 |; W% L: t3 \! H* a
    感谢大神能够指点一二。
    1 }5 k- y3 \! o* Y8 J7 ?( P2 \' K: V! l

    ! H" o% M3 @4 O, L9 Y' \4 {

    评分

    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 编辑
    " x% ]3 ^7 B9 F* d& ?
    gttwork 发表于 2018-5-14 20:59
    $ ~' k6 Q: V9 S& ~7 T) {感谢回复,试了一下,还是不行。

    1 t  H  d$ w. t; ^
    - G  [# U7 [% e
    1. s = sys.argv[1:]
      8 `2 a+ u" V/ ]) A( d! S& L9 ^
    2. k = (" ".join(s))
      ( p4 q# E# f( C( T% E5 O
    3. j = k.split(" ")
      9 n! R1 Q( U, ^( ~0 U
    4. theword = ("+".join(j))
      ( C6 {- B+ h& p) P4 b
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码

    ' F4 ~4 [! U, x+ N, a" k; r: |: c3 j, V* G  }/ u
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    & q2 {9 J  q) O: E( B. w4 S: U% s/ w& g2 M; N) n/ u  F
    说实话我也是一点不懂py,但是这个问题其实不难。
      |& X; Q/ i3 z. K
    $ T* F- O7 ]5 j4 d% E9 y$ D  \: _/ T
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2018-5-15 11:13:09 | 显示全部楼层
    . ?0 V9 F( n* g: N
    1. import urllib35 `* V% h  n7 e, o2 B
    2. from urllib.parse import quote' o5 T0 X5 U6 u" ?1 g
    3. import io& C2 E' H7 R- f6 A, ~/ U: m
    4. import sys2 S6 C  f& X; u
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      8 P1 `% S' a# n' h1 T+ T
    6. / D$ \3 w! m3 o0 o4 h
    7. http = urllib3.PoolManager()0 X- |& S0 n8 z: Q7 W
    8. x = quote(sys.argv[1])
      6 i2 C% A( A! N7 p8 b3 |1 T
    9. y = "http://cn.bing.com/dict/search?q="
      # U) N3 ~5 z8 h# s% c) f' A) N  {
    10. r = http.request('GET', y+x)
      " k* h0 @, Y9 }1 I! z4 n
    11. data = r.data.decode('utf-8')
      5 A6 T7 z& T, v" g% H9 g, L
    12. css = """<style type="text/css">
      $ j5 g4 q8 r# Y, d; \8 z
    13. </style>"""
      ' \4 z; a# r7 v. K3 ]6 m2 d: p
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      / w" [; K8 E0 P! h( v8 R* I8 A" J
    复制代码
    : |& l$ o  N7 ?/ Z$ z8 _$ `- t' e

      w7 y) b' V! T% u5 r; S$ F效果9 W* E; Z* [) V9 |5 y  I/ g3 e. d
    / a9 j) S$ i/ k! R( a8 d

    ; O6 Y) s8 k; I! L: w, H

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:170 h) I. J: c: W1 o1 g/ z' O, B) H
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。$ h# G8 Q# n; H
    % k$ @  E. e- z( o- G0 b' |2 M
    说实话我也是一点不懂py,但是这个问 ...
    ! W0 G* ^2 r; L
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    7 @( F2 o& z. U& L, n4 B
    非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    小黑屋|手机版|Archiver|PDAWIKI ( 美ICP 0000000字 )|网站地图

    GMT+8, 2021-7-31 07:12 , Processed in 0.041880 second(s), 14 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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