掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 303|回复: 6

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

[复制链接]
  • TA的每日心情
    擦汗
    11 小时前
  • 签到天数: 147 天

    [LV.7]常住居民III

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑 7 T9 @4 b3 j9 |& w. u
    3 ]8 ^. x9 C& `& x8 p& x; k; ]& s
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    ( B% T2 n& z7 A! m; K% y自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:
    - K# o, @) O. b4 H- qimport urllib3% \% s3 b: h( v* T; C% U
    import io% N# M7 r* `& A7 F
    import sys
    . B) f% ?3 e9 y6 [sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')2 q) g% h$ c7 `* F
    8 Q. Q' b, ?3 z6 n
    http = urllib3.PoolManager()
    $ l' C; z. D: P! M5 `3 i$ _/ D% vr = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    - Q' M% s1 F* E2 |/ W2 Mdata = r.data.decode('utf-8')
    ' j2 y" F5 X- C' Y4 p* u% @css = """<style type="text/css">
    ) W  i( ?. I7 E% R# o7 L% o# P' ~9 K+ [* X( w) Y% l
    }
    $ |; b* e- H% M$ F6 T% W3 `6 ]$ t- O* w

    , i  Q& z! T0 ?* V4 S$ \</style>"""
    5 j% ~4 j, z. f: j8 U6 s& b
      X3 G# Q0 r) ?5 Gprint('<head>\n%s\n</head>\n%s' % (css, data))
    3 E/ p4 X! t$ v# X
    % s8 c3 K1 P6 k' j5 u  O4 U% s$ Y感谢大神能够指点一二。- {; S8 r$ G: v! E+ `: ?

    ' s+ k0 t# u  P0 b8 j% o) C  E) d$ R7 ^" }8 z: E

    评分

    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的每日心情
    擦汗
    11 小时前
  • 签到天数: 147 天

    [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 编辑
      r+ h# y: j& E; h% P1 m% {5 B
    gttwork 发表于 2018-5-14 20:59! B( f; U, s) G* p" Q$ o
    感谢回复,试了一下,还是不行。

    , o% z7 I- J; |* u7 v2 u
    2 p, z' |& N5 t* o* L6 J
    1. s = sys.argv[1:]
      1 H# H0 k4 m9 i) `. ]% \8 j
    2. k = (" ".join(s))
      0 R) b" V9 `0 {! ~- r
    3. j = k.split(" ")
      % t6 y' e* {- U; J
    4. theword = ("+".join(j))' W. P) _9 x: H
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码

    . S6 n: Q" e0 r3 o
    . c1 Q5 q2 w" @' x! ~$ e这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。, B  L; c4 D5 W

    " |3 B- W, v4 [$ t) f说实话我也是一点不懂py,但是这个问题其实不难。
    4 L! _1 H" H: `* ]3 i( ?5 R& `
    / Q' |) K2 F& G  a; b$ X7 I  ]( a- _
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

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

    5 B' X6 u3 J& \" w) c
    1. import urllib3
      * z+ n* W; X+ X. a* [
    2. from urllib.parse import quote  w2 _, d. m8 G7 X
    3. import io
      ! J; e/ [6 ]" R5 j# S; R
    4. import sys" T, B0 _. Q) P' ]- A
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      $ e8 ]2 P1 D, [3 B

    6. ( C; ~! f- U; v% t, v$ {% [1 ^
    7. http = urllib3.PoolManager()3 ]4 b8 g4 ~) v
    8. x = quote(sys.argv[1])' H+ T9 T" ]/ t$ V
    9. y = "http://cn.bing.com/dict/search?q="
      8 O; ]0 o3 G' }: o
    10. r = http.request('GET', y+x)
      5 G- l, b4 {, b& g) w
    11. data = r.data.decode('utf-8')
      4 b3 J! m5 l4 V  t3 l8 Z& Y) L
    12. css = """<style type="text/css">
      - ^/ Y# W4 m- U1 V1 n
    13. </style>"""
      ( {$ P- h2 B5 e# z
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      & r$ W& N; ^: @5 W1 [
    复制代码

    " a% h+ b) q% a, K4 N, F3 z8 H3 ~1 Y* _, g: \( o
    效果
      ?- }& e- b# i* t( R) f
    ; ?; X% P% e! ^5 a
    . W" I* ^3 z; I8 G' t. {

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    擦汗
    11 小时前
  • 签到天数: 147 天

    [LV.7]常住居民III

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:175 m$ ?$ B9 S) E% v  E' @9 {. j
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    + \1 K+ J/ a- [- ?+ b. J
    # T8 U# f7 O. u, r9 t+ m& }: W( J" D说实话我也是一点不懂py,但是这个问 ...

    4 B9 E; d4 F2 ?! O非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    11 小时前
  • 签到天数: 147 天

    [LV.7]常住居民III

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:13
    0 ~7 \4 \) I/ Z3 ]- N( h效果
    ) h5 @, J  r/ v1 F% I
    非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    GMT+8, 2019-7-21 16:54 , Processed in 0.127127 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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