掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 272|回复: 6

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

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

    [LV.6]常住居民II

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑 7 P3 n4 G1 p8 c) K2 k; @" o3 c( \

    ) {3 A" U4 ~3 \3 n6 m/ I受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。
    0 w0 z# E5 U) G  r4 A* d4 C# p6 ]自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:7 X% ^2 Q0 @! @% [4 L' B
    import urllib3
    ( q% I7 v) s- y7 yimport io
    % e8 s" s# f% Z& s/ Q6 }0 X8 ~import sys
    6 ?# X0 ]# M: S! C; fsys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    4 {" o  i8 ?, T& s+ c
    5 v3 n% V$ r9 T+ Dhttp = urllib3.PoolManager(). o! \, _! f7 k! X0 l- Z
    r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] )
    6 g3 |0 D6 r# [3 S, Q5 j& K* B+ d2 A8 `data = r.data.decode('utf-8')
    5 ]7 R2 b$ v. F) _7 c0 Bcss = """<style type="text/css">
    % X; X1 N( n, b* C$ z* T+ l5 c1 \$ L1 M: l
    }
    # U; j/ G* A7 d' J5 A
    & {) J  U8 c$ j5 ?
    ! b5 d5 Y5 G( Z</style>"""
    ( b0 _/ _. M2 U9 N5 F. C% d) e+ {1 S
    print('<head>\n%s\n</head>\n%s' % (css, data))! e1 t4 f7 Q2 m! `( ^

    , ?& A# H2 O3 F感谢大神能够指点一二。- g0 v- U4 c4 h; ^# G8 N

    5 w' I3 B; V, U" f0 m% x8 ?5 [/ G+ O
    4 C5 c6 ?7 {! x- D9 x, [

    评分

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

    [LV.6]常住居民II

     楼主| 发表于 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 编辑 $ ~' G0 @7 d, ?, d& [; ]9 D5 B
    gttwork 发表于 2018-5-14 20:59
    ' h- k1 y7 z7 d$ b3 T: p$ f感谢回复,试了一下,还是不行。

    ! k8 ?0 b2 X# r/ m. U, ^
    - G6 T, _9 n3 Y
    1. s = sys.argv[1:]
      3 L) Q2 P" P5 i/ O) i6 t) |& ^
    2. k = (" ".join(s))( O$ H8 F+ _+ D& J
    3. j = k.split(" ")# W) a( \+ c8 M5 Q& P! ?6 o
    4. theword = ("+".join(j))+ y+ G5 Y. s0 c9 e
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码

    % Z2 U& M1 N3 z
    ( A4 J1 ?" ~2 c1 L/ G/ s这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    # |7 L; e, L  `
    - ]* s( P7 c" ?6 U说实话我也是一点不懂py,但是这个问题其实不难。: T% m/ v8 r3 h
    1 r5 Y( ]& x) f( o$ G4 [0 f
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2018-5-15 11:13:09 | 显示全部楼层
    + s1 [# y8 Q# d
    1. import urllib3
      ( ~: K# c- t0 k! {- H5 m! S1 m( A
    2. from urllib.parse import quote# f- w! F5 Z* U* G5 M! h3 L
    3. import io
      , A1 U, [: P, N' m5 {# Z
    4. import sys5 w% S4 E$ g, ^( Q. T, I* j
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
      ( d' Y3 U3 e& x& @9 @9 E! E  ~. u  z8 T
    6. 9 o3 _3 s4 W$ x7 Y" a8 e3 z7 K5 m
    7. http = urllib3.PoolManager(); }& H. x2 {/ V  r4 a
    8. x = quote(sys.argv[1])
      ) L! p7 u8 u  j* F
    9. y = "http://cn.bing.com/dict/search?q="% R( ~# V: \- `5 ~. A2 v; `
    10. r = http.request('GET', y+x)
        F% ^. K9 s5 o0 q! ~
    11. data = r.data.decode('utf-8'); L: ]2 y0 d# u: k- j" x
    12. css = """<style type="text/css">
      6 D8 [1 g  \0 T( k! i0 v6 _
    13. </style>"""" D3 z( c. Q4 B# B9 k1 C6 U
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      1 J+ e2 |5 s9 n
    复制代码
    2 I: P; o9 g+ O$ R$ T
    1 T6 X3 ~3 ]. q: \1 d7 F
    效果
    1 r% P/ w1 L. c
    5 B) u: h! z0 H' U( t( ^/ o4 b( ]$ t5 h, d( M

    本帖子中包含更多资源

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

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

    [LV.6]常住居民II

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17. ~  U, z& C' ~! M
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    9 _$ O. I  O0 s. @( n+ x
    ' \7 s, U9 j' n# I: Z2 |  _; t. q说实话我也是一点不懂py,但是这个问 ...
    9 w" i0 ]+ D* M' E
    非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    15 小时前
  • 签到天数: 76 天

    [LV.6]常住居民II

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层
    garypang 发表于 2018-5-15 11:13
    5 w& `; j! H' E! u% w" K效果

    # A* |( Z. p7 E. V; M" [3 I3 i非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    GMT+8, 2019-4-18 20:36 , Processed in 0.781706 second(s), 14 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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