掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 293|回复: 6

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

[复制链接]
  • TA的每日心情
    擦汗
    昨天 19:21
  • 签到天数: 124 天

    [LV.7]常住居民III

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    & a' @% V- Z" t) d
    $ D- J1 W, [0 q& G受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    " @7 ^+ {0 K) X! [自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:
    5 a) ?4 m, X' N) K- P& J4 t; ?" {( Vimport urllib3
      v+ }0 J/ ]$ e) Z/ mimport io6 T  e. S# C7 n: ~0 t
    import sys  L* G( \0 q  t$ i8 `* l
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    . j. m* E6 O% o( N, G: ?& p  m# u* L4 a$ X3 K5 p& ~% l% `; j9 `1 t' z
    http = urllib3.PoolManager()
    9 @. N, j( Y# U5 x( R3 }r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )/ s6 J. k3 O. t' |3 x2 c5 J
    data = r.data.decode('utf-8')
    4 U' a9 l: R" pcss = """<style type="text/css">, v! a- o" c! f: S# @& f
    ) u2 y3 O, C% K6 |
    }
    & B! z2 p- d/ i$ S$ f0 O4 _
    ) M2 C5 O# w% n: E6 {  b+ N! I1 K9 m% e6 k
    </style>"""7 T! K+ E. k7 G8 w
    1 l  H1 Q. K5 T- S: r% S7 X) o
    print('<head>\n%s\n</head>\n%s' % (css, data))
    ) [: A  _/ e1 r5 k5 x) e$ e- x/ h) Z- c
    + H4 U4 n, B9 W: ~2 N. k感谢大神能够指点一二。
    ; x7 W5 Q+ [8 g+ m
    2 `2 _$ u2 p# w  a! w. F9 m1 w: m# M- U9 R, N

    评分

    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的每日心情
    擦汗
    昨天 19:21
  • 签到天数: 124 天

    [LV.7]常住居民III

     楼主| 发表于 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 编辑
    ! }' a3 i* e1 ?3 {2 n
    gttwork 发表于 2018-5-14 20:59
    $ v* ?* I1 y. i, E& ]) n' {* Z# k感谢回复,试了一下,还是不行。

    ( k$ v7 D! c/ r+ c% w0 a" C
    * e7 r& j+ n$ `- E0 E$ G
    1. s = sys.argv[1:]
      5 y8 `3 a  p, Q& Y' l% Q
    2. k = (" ".join(s))' K; j1 o) D/ s$ Y* _! ~
    3. j = k.split(" ")- {- e+ o+ l8 W! Z5 R
    4. theword = ("+".join(j))
      5 f: y- r6 v' D' R
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码

    0 w% H2 f; N5 w0 `( b8 ?3 N* s9 L
    2 C7 I1 V5 v. D7 R: _  r+ M2 Z/ r这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    5 ?- n) k: _& Z4 j( _
      Q8 c" R& p, \. C4 L说实话我也是一点不懂py,但是这个问题其实不难。
    5 C) Q- c7 F9 Z* ~5 f! s" c
    * \0 |+ X! x7 q8 J9 N
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2018-5-15 11:13:09 | 显示全部楼层

    0 i" M/ f3 e' I; O  k+ ?. @4 s1 S# X4 A
    1. import urllib3
      , w5 o& v; L- H$ `
    2. from urllib.parse import quote
      # U( L! v) \! k
    3. import io. X  ]5 y4 V' d$ I8 g
    4. import sys3 F1 h* y* H; H, ^- O
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      " B9 l) n+ C+ A+ `

    6. ; a% u5 ?4 ~0 o; e9 p. i
    7. http = urllib3.PoolManager()
      4 X8 |, e$ h+ h3 E4 G1 \" l
    8. x = quote(sys.argv[1])* c9 G# l& v' H) o- K
    9. y = "http://cn.bing.com/dict/search?q="
      . G" m7 d) c: s, F- Q
    10. r = http.request('GET', y+x), F5 n1 I; I% C- R
    11. data = r.data.decode('utf-8')
      . W+ h7 {5 O% \) {$ h5 ?2 O
    12. css = """<style type="text/css">3 s% l) g! A: H6 J9 z( J0 L( J- C
    13. </style>"""
      : `# y6 D. k% {- @: Y- C7 G
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      5 Q5 d2 Q4 C7 N/ L1 Q; R; _2 A) F* I
    复制代码
    + W/ E$ b* c' T% `' i
    8 @" ]' m9 a2 v& {
    效果
    + r. _% K3 w! a0 j' n! @
    $ x& X, B7 }9 f/ K0 C6 P+ S/ Z. @2 T1 u7 @2 B! ], m4 E" v. Q  m& G& _

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    擦汗
    昨天 19:21
  • 签到天数: 124 天

    [LV.7]常住居民III

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17) q! _' b9 `1 a( c8 x5 C* u
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。4 g* o* Z/ k' ^0 j3 S6 {% I* u  x0 _

    + a3 v+ w5 b% G  U7 e; `. n说实话我也是一点不懂py,但是这个问 ...
    6 m6 u4 ?0 J; \
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    昨天 19:21
  • 签到天数: 124 天

    [LV.7]常住居民III

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    # r, d6 u6 U. @- B7 R8 M5 s
    非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    GMT+8, 2019-6-20 05:08 , Processed in 0.561330 second(s), 14 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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