首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小白日记-Steben的词典

作为一个优秀的boy,哪能不会点English?于是,我决定给Steben“买”一本词典。

起初的思路,是在本地做一个文库,然后来匹配内容,达到目的。不过这样需要的劳动力太多了,而且不能自主更新。

锵锵锵,在反复思索之后,决定利用已有的有道词典,用爬虫来做这个功能。

首先,我们需要用到上面的三个模块。re模块是调用正则表达式的,urllib.request模块是用于操作URL,BeautifulSoup其主要功能为抓取网页数据,也可以解析网页,提高效率。

当我们打开有道词典,并输入“你好”时,发现网址变化。而且两个网址有细微区别(这里会影响后面的一些处理)。

以上操作后,我们就已经抓取了整个网页的数据。

然后在浏览器中,审查元素,选取区域后,确定所需数据在class="trans-container"中。

如上操作后,我们按道理抓取了这个class中的所有数据,但是出现了以下状况。

如上图,我们抓取了这个class中的数据。可知,需要的数据在contentTitle里面,经过如下操作我们便得到了想要的答案。

因为存在一词多译的情况,所以我们用这个美味汤模块中的find_all来抓取所有在该类的数据,并处理后输出。

问题又来了,当我们输入英文时,却没有结果。原来是网页中数据存放的class不同所致。

同上抓取网页数据后,用正则表达式来匹配中的数据。

当当当,这样我们就可以中英互译啦。当然,这只是实现了基本的词典功能,我们还需要做一些优化(比如差错判断等,这里就不多提了)。后期,只需要稍稍转变一下,我们的Steben就可以提供翻译啦。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G1ECPT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券