掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1146|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    ! ?) C7 F# I5 ~( B  x, i3 g3 J) X( w' T7 V- O
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    3 I( A3 o2 Q( G! d. P) U: V+ L- a$ }自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:
    7 R2 U; H# l( [. W/ Oimport urllib3* Q% M9 g+ ]3 t: e
    import io
    - G- Z" [* Z8 F; Himport sys
    0 o' a+ x2 ]( l( ~& Ssys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')  j; W: l* Z- j: x0 V9 [% O
    / U5 z, g! K2 z# t4 q' ~! _) {
    http = urllib3.PoolManager()
    1 r) J) m$ O3 _" l4 y. H& qr = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    : N# _  O! H+ I# V7 `9 X/ ~( Z7 edata = r.data.decode('utf-8')
    : {0 b( w+ h2 M/ rcss = """<style type="text/css">
    % J) h% W4 z% e0 A
    % c% `8 S( z- v6 ]- |1 D }9 p. l" g7 m1 t0 \/ {( m, {/ M% i) Y

    7 R* M/ p" ?' p1 v$ {* b0 b8 F& Y" R1 h6 |5 ?
    </style>"""0 \2 U1 J6 S5 c% G

    # A2 c& W, Y' u) sprint('<head>\n%s\n</head>\n%s' % (css, data)): r4 i* o5 r3 z: A" R% g7 @" I$ F

    3 F% h, i2 u7 J  m感谢大神能够指点一二。
    & ^' g, `- w% O* B" c' i$ ^1 R( E$ D; ]% m9 E+ c( V8 c
    * R- ?2 k; ?1 p

    评分

    1

    查看全部评分

  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [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的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2018-5-14 23:17:05 | 显示全部楼层
    本帖最后由 须佐之男 于 2018-5-14 23:18 编辑
    6 E3 C7 U+ l( e3 r
    gttwork 发表于 2018-5-14 20:595 _3 q% ?6 I$ s/ ?: A
    感谢回复,试了一下,还是不行。

    / ]- k# B/ f, u3 m9 n' \
    ( r+ b( k9 S: x$ Z" x/ z+ G& f
    1. s = sys.argv[1:]
        |: `( g1 c7 b- l  d
    2. k = (" ".join(s))  P6 c$ M- J" {) ]3 c
    3. j = k.split(" ")' P( v) G& }; A) L6 p' Z2 k0 ?1 ]
    4. theword = ("+".join(j))
      4 U4 P% B& L  |- t6 O) H; V  E
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码
    , K$ s. {& Z- ]
    & }4 w2 g; W' M) n9 ]
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。0 R) q- H9 R% G( Z1 J) y4 W0 c
    8 G9 K0 V: x) B% H# g+ k0 t2 N
    说实话我也是一点不懂py,但是这个问题其实不难。  S# R( a. @  a: }. q
    ! J8 |* x7 b0 M
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

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

    2 B  E/ A. E. x. Q! s; `+ y! a9 b
    1. import urllib3
      : c) L: o5 s8 `: L: k+ h# t7 ?1 w
    2. from urllib.parse import quote% `  [, Z4 S# n7 W+ v! n8 ]) S
    3. import io
      # r# F3 U; B& j% k  y# y: {
    4. import sys! x8 i3 M# B6 ~; B% v" Q
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      * S) {6 J& v! \9 R( t) f- n

    6. + v6 h' J. r" t0 q0 S0 h( S; r
    7. http = urllib3.PoolManager()
      ' v9 P. j% e7 |) [6 S( @. O* ?
    8. x = quote(sys.argv[1])
      ) I/ L' W. f& D/ e' g, i* g
    9. y = "http://cn.bing.com/dict/search?q="( x) C' H3 W% R# t
    10. r = http.request('GET', y+x)
      ' m7 h; B" I) W5 z+ x4 o. r* b
    11. data = r.data.decode('utf-8')
      ( Z, G* k! D! n, @" j( p5 U. A& H
    12. css = """<style type="text/css">+ E( C1 l4 q! C) x' g0 J
    13. </style>"""
      8 T3 M7 u1 |, o6 R+ W
    14. print('<head>\n%s\n</head>\n%s' % (css, data))* S5 g% b5 H0 y& J* B7 X
    复制代码

    ! I4 x. v: W9 ^6 [5 D9 x: D% h, I: W% U6 s( Q- K
    效果3 y5 h! f; m6 _6 E6 s; e) E8 F" K
    " e0 E1 g( s+ P2 C( o" e6 L
    9 C7 j! C# a2 o. f( ?

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17
    1 q% o% z" s# O/ [2 _+ |& N这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    $ |5 e; r5 e* \
    . R5 H! `$ c$ Q$ D1 o: n说实话我也是一点不懂py,但是这个问 ...

    ) D; z, e7 B8 g: D6 _' d非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:138 {4 `; p6 p" u" [; G8 c
    效果
    0 ?& N6 b2 F( E" P
    非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-20 10:21 , Processed in 0.059532 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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