掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 584|回复: 6

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

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

    [LV.8]以坛为家I

    发表于 2018-5-14 15:35:24 | 显示全部楼层 |阅读模式
    本帖最后由 gttwork 于 2018-5-14 15:37 编辑
    9 T7 r7 z, h5 _: p6 v9 M( d1 j3 n3 w
    受到henices大神的帖子https://www.pdawiki.com/forum/thread-21878-1-1.html启发,受益匪浅。1 Y4 k) i/ w7 H, Z
    自制的必应在线词典,目前只能查单个的单词,查2个以上的词组会报错,代码如下:
    2 l9 N9 R4 q  e; \import urllib3
    0 z4 {1 M! `# L2 aimport io
    & \7 P4 Y) S; m- B7 R2 m$ Zimport sys
    . I5 P: B6 `  A0 X) t5 T" o( Y! Fsys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    / v' B& p$ U) ?2 W
    4 G4 \5 B4 X7 g0 |7 z# n+ hhttp = urllib3.PoolManager()* P& g- {, a+ e) s) d1 o0 m
    r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + sys.argv[1] ): u% [% r$ T) V( q9 {3 ]
    data = r.data.decode('utf-8'). ^! i: c2 B& j; t
    css = """<style type="text/css">
    ; f/ P/ b; d2 w" O$ U9 E/ [: W
    , a4 a  {- g- Q4 i* I; e }
    # m+ {; Q6 w) u! e4 ^0 A: X5 s5 {9 S- U) Y' D- y

    7 s8 K3 L6 C4 y  {2 i4 S+ H</style>"""
    : f; S0 {) n4 t- G* X/ r- X' v7 D$ ~# Y) `+ r/ b# Q- i7 |
    print('<head>\n%s\n</head>\n%s' % (css, data))
    " R) B0 l  J0 K0 u- E9 S2 L1 E8 D2 a4 f% o( u
    感谢大神能够指点一二。  u, i$ B1 [6 q9 e
    6 _/ _" V6 R- w) s# |

    5 I' ^3 G. ]5 U5 Z* y. m

    评分

    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的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 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 编辑 1 [2 O- o+ F) P5 w) z! M
    gttwork 发表于 2018-5-14 20:59) ^1 _% S0 c* B, ?& [" T& B
    感谢回复,试了一下,还是不行。
    . b* A# X0 N& J; W+ G1 B2 D

    # E$ @5 x7 a3 U, p3 f2 o9 l
    1. s = sys.argv[1:]( z8 B& T0 s& U; M
    2. k = (" ".join(s))
      9 x, }4 N' l3 b& M5 J0 [
    3. j = k.split(" "); Q$ L4 j4 }7 E; w$ U! ]
    4. theword = ("+".join(j))
      & U5 }8 z# C. h3 o7 ?6 e
    5. r = http.request('GET', 'http://cn.bing.com/dict/search?q=' + theword)
    复制代码
    , y7 }1 D9 Q7 {5 j% l
    # A/ A' O* Z- e1 r  M
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。
    ; q/ |: ~$ H- \% j4 L* y
    ; w8 a3 A) [1 A- Z) F) p说实话我也是一点不懂py,但是这个问题其实不难。
    1 A$ T" @$ T4 b9 w3 l* o
    # u& F( T2 Y1 V. N
  • TA的每日心情
    慵懒
    2018-8-25 12:29
  • 签到天数: 91 天

    [LV.6]常住居民II

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

    1 f) [  T) [* N+ ?  p' c0 H% s9 r- `
    1. import urllib3
      4 C, k# ]6 E+ Z& W7 k
    2. from urllib.parse import quote
      ; ^% z/ g6 `7 g$ ~1 @* R( R* u
    3. import io
      ' J/ ^' y/ G# N
    4. import sys
      ; A! P8 ]9 S9 M8 A& ^
    5. sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8'): i8 B1 z2 s' {/ [
    6. 8 k( e, q$ h/ e; x* W
    7. http = urllib3.PoolManager()( n6 a5 ]0 `; v* C6 }' M% ?3 m. j
    8. x = quote(sys.argv[1]); |# ]5 B  t7 Y* B9 _2 l
    9. y = "http://cn.bing.com/dict/search?q="2 l% E( G. p# U, ^( P% C- H7 j
    10. r = http.request('GET', y+x)
      & s6 Y5 M: X; f, v4 [
    11. data = r.data.decode('utf-8')
      4 Q$ s& x0 M/ d
    12. css = """<style type="text/css">" g3 ?& {% `/ l$ P
    13. </style>""") a, h1 \; w  z: ~1 u1 L- z
    14. print('<head>\n%s\n</head>\n%s' % (css, data))
      ! ^- \8 g: p* d' V% ?! O3 o2 Q) O
    复制代码

    3 x( h# Y, Y, N4 f# ^$ T0 @6 Z8 u. \- J
    效果
    8 A- l$ F. S  l2 R& U( l- @& q! w$ O! `
    1 y6 t, _, D7 i6 W: a: x2 o$ U

    本帖子中包含更多资源

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

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

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:37:05 | 显示全部楼层
    须佐之男 发表于 2018-5-14 23:17( }0 [& \$ D1 X: ?  D4 Y
    这么写就可以了,这部分替换于你代码里的r,其他的自己添上吧。; a; ~' C8 s) c% {! ?6 Z8 X- X7 \4 x& T

    . A: p% O% u1 s- L说实话我也是一点不懂py,但是这个问 ...

    3 Q: R. Q# V! O) g8 \8 \1 C9 _非常感谢版主帮助!这个方法成功了。
  • TA的每日心情
    擦汗
    2020-7-23 13:21
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2018-5-15 21:38:45 | 显示全部楼层

    0 L  g9 H% X3 @; P非常感谢您的详细解答,我试了一下,这个方法也非常好。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    GMT+8, 2021-2-26 03:06 , Processed in 0.025916 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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