掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 658|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    ) a7 M# c3 ?5 g6 G2 o5 {( Y8 v) |$ N+ j9 ^( P
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    3 r! f2 l' N/ `: y" {; ?! T自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:
    4 A3 q5 E' R% \* f; F! dimport urllib33 [1 s" J6 F) p/ d
    import io: i! i) ?- M4 G+ P: Z
    import sys* D' r, K3 N* h( {, l' E( o
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    : ?4 ~, L) Q! t" ~4 H+ b3 i& |9 n" ^& K( h; g& p5 l
    http = urllib3.PoolManager()& Q& P5 {! O8 W- W9 |% A
    r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    ) Q1 j1 |1 t. ]) y( edata = r.data.decode('utf-8'): e6 a* K, `# k3 L  _; h' R
    css = """<style type="text/css">) {9 c5 g$ E/ O

    , U3 w% |5 Z) Y2 r; C }
    & n+ n; F/ B( {2 [1 W, p
    ( b$ y$ s# k4 M/ ^4 E  D5 a& _2 ~. i1 X2 E. J
    </style>"""! C- B: A! K4 ^/ S+ Y/ x) E

    ) ~- v' Q% K5 T( Y5 nprint('<head>\n%s\n</head>\n%s' % (css, data))
    2 g/ j& {8 M# k& j# q" X4 ^# v
    8 {) E! Z' O4 S( z1 ^* @7 Y" t& L感谢大神能够指点一二。& \+ K/ v. S: m1 _  m
    0 a" f2 O; s* u) |- c$ t
    0 I  Z, A( c1 \- J

    评分

    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 编辑 ; Z7 @5 e3 F+ j6 G, ?" {0 B# V
    gttwork 发表于 2018-5-14 20:59' _/ [" k. s! |. A. X" O! y  z" k
    感谢回复,试了一下,还是不行。
    0 A  _: X6 f: G- J7 j

    $ q2 P2 j0 p- L/ o( ?7 C
    1. s = sys.argv[1:]/ t& p9 p! d+ l; \3 Y/ h( n
    2. k = (" ".join(s))3 @! J. S  R4 `  |
    3. j = k.split(" ")& J% Z! _8 Y$ S' l6 U  j
    4. theword = ("+".join(j))
      # r1 g4 U' `/ \: K2 t
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码
    / k/ p$ P% H7 L6 P+ \$ Z
    : w( K, Q7 `4 r: L; N6 @9 E
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    ( k' I7 v5 K) P% a8 o, x3 S4 a8 `
    9 w: v4 f6 T4 d* \' o- M说实话我也是一点不懂py,但是这个问题其实不难。1 J9 h* D# `: K3 `

    ) ^- n! l# k' [: ~2 M
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

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

    6 V# i& q* J+ O9 k
    1. import urllib35 O# H8 J7 n# y9 ~
    2. from urllib.parse import quote
      9 M+ M5 t  _" A/ X8 U) b
    3. import io9 M7 Z- D8 I- U) E- T: j+ O
    4. import sys
      ; }* f! ^7 l5 @  }7 p1 z
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')  O' @8 o4 v3 r, m  V
    6. % X( w" L% B- j: y5 X2 X2 x" \
    7. http = urllib3.PoolManager(), e9 c3 N, i2 a
    8. x = quote(sys.argv[1])
      6 ?2 f5 M0 s' Q2 H
    9. y = "http://cn.bing.com/dict/search?q="
      6 r1 z+ v9 z: r# X: ~% J( n( H
    10. r = http.request('GET', y+x)4 r! Z8 j4 d% `4 m, V! G5 ^
    11. data = r.data.decode('utf-8')
      ' t+ C3 c& s, B# d* _
    12. css = """<style type="text/css">
        Q: ^6 [$ F5 G% r5 d; `
    13. </style>"""/ t. j4 U( S9 m
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      ) ^4 @+ g5 D. e% N: X6 T  i0 w
    复制代码

    : Y& R5 b, f* }. s' s* y7 u) ^2 W/ F% H
    效果
    ! z# \4 S- f0 o8 q0 C' i$ E1 B# W+ u3 E  G7 y2 x3 ]8 s
    ; Q0 X. d( R( m; |; v5 @" n. P

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17) E* y, g* f4 ]- X: `( h% s+ J
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    1 L; \, ^9 |8 s0 N6 A" J/ }9 [: _/ ]: `+ ^
    说实话我也是一点不懂py,但是这个问 ...

    ! \& @( D5 ^% L/ ~( {非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:136 y" q: l' W9 e6 B4 n2 R
    效果

    / i+ v2 H: l+ c, D  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-10-16 04:33 , Processed in 0.036556 second(s), 14 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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