掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1186|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑 . {& W9 a, ?0 W7 [7 c
    7 B: D- q& g$ F5 o3 J% @
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    6 V3 a6 G/ q# f; J, P自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:4 T6 v/ |7 e* `+ \: `/ e. F( I* \9 `
    import urllib3
    , x3 [+ K- ^% y' x3 timport io' M5 `4 m- u: K4 m9 K
    import sys* n( L7 P; V" F. Y, J$ ~: Q. g
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    3 p7 Z2 y5 P  V( a" }, [& v" M" ]/ V
    http = urllib3.PoolManager()
    4 _# |; s' z$ {9 W: @/ `& ur = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    7 m8 k9 f6 u2 k# u( t9 Q' Y( kdata = r.data.decode('utf-8')+ f! o& Q6 _" |0 X+ F
    css = """<style type="text/css">
      r! W5 N4 i8 t! Q: \* H- N$ L8 q' u
    }3 F6 y/ v+ x' _  c  n* _7 h
    . s2 @: ^) E1 p4 X6 S
    " F6 I$ c' ?! t& x( w7 J
    </style>""". b- ]* k: {, w* z% i

    $ b% B  f: n" Tprint('<head>\n%s\n</head>\n%s' % (css, data))# H! f. Y, h1 }1 q" I' ^

    6 }' {* u2 f9 _- e感谢大神能够指点一二。
    ; K. X2 w9 ^& r6 O$ U6 ]7 X+ g0 e* z1 o8 {$ A; G0 \
    3 g% A6 g; X  v- y. O% q8 t

    评分

    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 }' \/ Z' T( M+ W
    gttwork 发表于 2018-5-14 20:59  O5 {1 `: E9 i2 s5 M
    感谢回复,试了一下,还是不行。

    ; O9 O$ T9 x+ T  W+ w
    & q! h! S: g2 K, g5 ^$ P
    1. s = sys.argv[1:]
      - [+ ^! l* t, f
    2. k = (" ".join(s))" |. }1 V# U9 P
    3. j = k.split(" ")  a: p3 M1 y$ _6 B4 ^, Z
    4. theword = ("+".join(j))
      9 l* N3 I! D' X/ I9 S
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码
    . |) j& o2 _( n) T" x; I
    & Q+ O) z9 G6 s2 I, R. m% C
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    7 i& X9 N1 d; h
    : u# d: [9 t9 Q说实话我也是一点不懂py,但是这个问题其实不难。' C8 a& Z, w  t6 w4 e- \5 B! i

    : ]8 _3 c" g9 F
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2018-5-15 11:13:09 | 显示全部楼层
    ) H2 l; I& z! v! _9 O  ~- P) D
    1. import urllib3) [# r2 t1 s' K+ `( _4 s
    2. from urllib.parse import quote
      ! X3 ?; b. o* y3 g/ b
    3. import io
      : T1 I# k' z6 |% T9 x* }5 |4 s3 S5 U
    4. import sys0 J& J% b' v. ~. s! v
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')( l( `# c) c' P6 V$ a

    6. * g# P4 d+ W8 W9 n& a- s2 x
    7. http = urllib3.PoolManager()
      ! D# W1 I; [7 y% T4 T
    8. x = quote(sys.argv[1])
      3 e* C- x5 ~; _9 a- K7 N
    9. y = "http://cn.bing.com/dict/search?q="+ B2 v( t$ g* Y, N- d: o
    10. r = http.request('GET', y+x)9 ^" {" Y( H* s" [6 T+ c
    11. data = r.data.decode('utf-8')
      ) i( Q1 f9 ]) W5 p1 v
    12. css = """<style type="text/css">% i4 p; a5 O3 C' V/ @; a" O) ?
    13. </style>"""4 ?5 g, I5 d+ E# d; g
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      ; s3 @; n' q: k. N4 S5 F; W
    复制代码
    ; w5 @6 {: Q2 l) b1 y% y
    : V" u/ d0 B. F8 \* a1 g0 c
    效果
    7 a$ i! ~3 c& i4 N) [5 ]/ z
    8 K7 S1 l. y  v  |& r' B6 i& S" I( o& X: @- n% E% ]" g

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17. i6 T- w% X5 ~. ?+ I" ~# G0 K
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。, _' W+ Z$ e5 z, Z$ m- o

    - ^% `. D  T0 ]& C& O说实话我也是一点不懂py,但是这个问 ...
    ( u8 M1 B' n  ?# L* c& J
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:13
    $ [9 B" r& z9 [3 I! V0 S# d0 f效果

    , t  k  s( |+ K0 A7 P5 k非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-10 12:17 , Processed in 0.049695 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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