用python通过百度来做的英汉字典

import  string
import  urllib

key1 
=   " <img "
key2 
=   " /> "

pos1 
=  0
pos2 
=  0

word 
=  raw_input( " please input word: " )

params 
=  {}
params[
" word " =  word
params[
" ssid " =  0
params[
" from " =  0
params[
" bd_page_type " =  0
params[
" tn " =   " wisedict "
params[
" mark " =   3
params[
" uid " =   " frontui_1266379660_6450 "
params[
" vit " =   " qh "

# purl = ""

url 
=   " http://m.baidu.com/s? "  

# for item in params:
#
    purl = purl + ("%s=%s&" % (item,str(params[item])))

url 
=  url  +  urllib.urlencode(params)

# print url

=  urllib.urlopen(url).readlines()[ 10 ]

while   1 :
    pos1 
=  0
    pos2 
=  0
    pos1 
=  s.find(key1,pos2)
    
if  pos1  <  0:
        
break
    
else :
        pos2 
=  s.find(key2,pos1)  +  len(key2)
        s 
=  s[:pos1]  +  s[pos2:]

=  s.replace( " [] " , "" )
sarr 
=  s.split( " <br/> " )
for  line  in  sarr:
    
print  line


整个代码40几行,通过下载m.baidu.com里面的字典的wml文件,进行解析,然后输出。  细节上还不是很完善,不过基本可用了代码的逻辑很简单,先生成地址,然后通过urllib把wml文件下载回来(这个是给手机浏览的)没找到可用的wml解析库,也尝试用xml方式处理,不过效果并不好。但下载回来的wml文件里面关于单词的解释都在第十行这就好办了,接下来处理了一下,最后输出~

转载于:https://www.cnblogs.com/shiweifu/archive/2010/02/18/1669239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值