掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1219|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    8 D% I! I; c' q$ k: q) l+ }9 ~
    & L! R8 T  R5 g. D受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    ) T4 I" ]) O, r$ c  X# B自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:2 h0 t) }7 [2 H7 D0 Z
    import urllib3
    ) j& X2 B5 @# r& e- ?import io
    3 v) u$ Z: }. o1 N' ]  ~, limport sys
    ' T! H, H% K$ w: w1 p0 d& Bsys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')6 W4 a0 r: t2 i3 p& H0 N0 M
    ' {. O: p  k+ P% b6 n1 {
    http = urllib3.PoolManager()0 B: L6 }* w2 _
    r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )& D8 b. j6 k& r
    data = r.data.decode('utf-8')
    6 X& s% d; @$ A  x# ^css = """<style type="text/css">
    3 N6 }0 F" |' @- S8 g5 g' p3 r& L' x& \4 u- v  p
    }
    / c: d: c) A5 G4 p& R3 x, H6 i: f, W3 U8 U6 D

    $ W( n% [/ v! ~8 c</style>"""
    : D; U: r3 E' n: p2 [( ^! c
    . D- t) x3 u" X8 l$ ~' U! Fprint('<head>\n%s\n</head>\n%s' % (css, data))
    7 V+ v+ \, D# J% q7 Q9 y' m4 `3 ^" @9 y1 y1 ?( x: R8 Z# k
    感谢大神能够指点一二。
    + V4 |; E/ x2 g+ g9 M8 V9 Y$ B# u1 u6 b) G. M: j, V2 x! {
    ( S/ e& Z: ?. t" i4 o3 J$ s% P7 `7 ~

    评分

    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 编辑
    " u" F9 k3 ~* M" k3 m
    gttwork 发表于 2018-5-14 20:59
    - s: ^: }% u( q" c% I7 H感谢回复,试了一下,还是不行。

    ' A, n2 j. Y" d( F5 l- T# A* U" M, s* W0 [
    1. s = sys.argv[1:]
      4 m3 c  A  D8 O! F
    2. k = (" ".join(s))$ m. g1 M# c5 D" V" F! u6 ?4 c5 M
    3. j = k.split(" ")
      . x' A/ c4 Q, F: T! C' Z, r
    4. theword = ("+".join(j)); Z2 ^( F2 H! ?1 q+ ~' ?, w; @$ \
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码

    7 e: X% R+ U1 ^+ o1 @7 l; o/ g
    ; k5 F# @4 D9 [这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。% f: S7 o8 l4 u2 l
    0 l2 J/ G7 v* z1 A1 B0 i
    说实话我也是一点不懂py,但是这个问题其实不难。
      T# B" N$ e/ W0 Z' Y, b0 g& c1 z" d
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

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

    0 b! C( r4 _! h: p0 g
    1. import urllib3
      9 |# i6 [  w( r' b+ s. P7 r
    2. from urllib.parse import quote, L+ |( z0 m( \! j" K% V
    3. import io# z& g  \7 H1 \. ?, |' s
    4. import sys! v3 J; {1 `+ v; N9 c1 i
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      % p* S; p" d3 T# x( n- G- ^# C. Y

    6. 0 @5 ~, f/ |/ X- t( Q% m4 Y* C. o
    7. http = urllib3.PoolManager()
      + A0 F8 Z" C7 K+ I$ F. l
    8. x = quote(sys.argv[1])9 P7 ~/ \7 G7 G* D! d7 l
    9. y = "http://cn.bing.com/dict/search?q="0 l4 T  [% \& x# f, M2 H
    10. r = http.request('GET', y+x)
      ! K6 N( n0 ~: V5 ^. S; F  n
    11. data = r.data.decode('utf-8')
      3 y# ?" v) h( K- R# I
    12. css = """<style type="text/css">/ U0 [& G3 c) Z& t3 n
    13. </style>"""
      / U9 Z* M! i) T1 y; U
    14. print('<head>\n%s\n</head>\n%s' % (css, data))8 o: x+ @5 J1 X, A& R
    复制代码

    . S9 e. y$ R/ M* Q& X5 A* s4 B  @, K* H, [% g& p
    效果
    ( x1 A2 P8 D' S7 Y1 f2 A) ?
    + V$ n. `+ R" x) R
    2 {! @  r  K) y9 b5 b

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17
    ; C- X/ d7 W, }) j' M这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。/ ?  `# @- K& C! |& W
    : M4 ^5 @& v2 [+ m# k& m$ ]/ y
    说实话我也是一点不懂py,但是这个问 ...
    6 {$ ^& q7 x' H& Z) a
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:13. x/ B$ W7 r. ?; {, ~7 @% r
    效果
    9 Q) n  s; V. w/ W/ a
    非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-6-6 17:49 , Processed in 0.060393 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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