最近在学习Python,看Document时,好多不认识的单词,每次打开网页有道查询嫌麻烦,自己手写了一个mini的脚本,显示网页的单词解释,功能有限,希望大家给点指点。用到了BeautifulSoup模块。

以单词'hello'为例, 网页代码是这样的:

  • int. 喂;哈罗
  • n. 表示问候, 惊奇或唤起注意时的用语

[

复数

hellos或helloes

过去式

helloed

过去分词

helloed

现在分词

helloing

]

这个是词组解释的html代码:

短语

Hello Kitty

凯蒂猫

;

昵称

;

凯帝猫

;

匿称

Hello Fred

你好

Hello Android

创建

;

创立

hello barbie

哈啰芭比

Hello English

学英语

;

新纪元小学英语

;

欢唱律动学英语

;

律动欢唱学英

Hello Andrid

创建

;

创立

Hello Schoolgirl

纯情漫画

;

纯真漫画

;

韩国唯美爱情故事

Hello Yellow

浅草黄

Hello Booky

布奇乐乐园

更多收起网络短语

Python脚本程序:

# coding:utf-8

# Copyright 2013--2015.

# Licensed under the Apache License, Version 1

# http://www.apache.org/licenses/LICENSE-2.0

# Word_Searching Script

# Author: fish

# Email: fsh267@gmail.com

# http://www.love67.net/?p=608 # usage1: 'python **.py word' to find the word's explination or

# usage2: 'python **.py word -detail' to list the phrase of the word

from bs4 import BeautifulSoup

import sys

import urllib2

def input_error():

print "usage1: 'python **.py word' or "

print "usage2: 'python **.py word -detail"

def main():

length = len(sys.argv)

# 读入命令行

if length < 2:

input_error()

sys.exit()

else:

word = sys.argv[1]

# url是有道翻译的对应网页

url = 'http://dict.youdao.com/search?le=en&q=%s&keyfrom=dict.index' %word

# urlopen函数调用

#print url

data = urllib2.urlopen(url).read()

#print data

# 将data网页源代码放到soup中,便于匹配

soup = BeautifulSoup(data)

# soup.find() 可以放入标签和class名称

word_div = soup.find('div', 'trans-container')

if not word_div:

print 'word does not exists'

sys.exit()

# word_div存了一个标签,每个单词意思,存在每个

**中,格式化输出,不带''

for word_explination in word_div.find_all('li'):

print str(word_explination)[4: -5]

#第二种输入,还得显示出单词组成的短语

#BeautifulSoup提供的find函数可以查找'p', 'a','span'等html标志语言模块

if length == 3:

if sys.argv[2] != '-detail':

input_error()

else:

raw_explination = ''

span = soup.find_all('p', 'wordGroup')

#最后一组词组有问题,删去了

for element in span[ : -1]:

link = element.find('a')

#转化成字符串,用于定位到解释那里

raw_explination += str(element)

location = raw_explination.find('')

#格式化单词解释,长度为7,

长度为4, 只采用第一个意思

explination = raw_explination[location + 7 : -4].split()[0]

#python 自带的输出对齐, ljust(num), rjust(num)

print link.string.ljust(25), explination

raw_explination = ''

if __name__ == '__main__':

main() 再次感谢!

python单词怎么写_python 写的查单词的脚本相关推荐

  1. python代码说明文档怎么写_Python写完代码怎么用

    Python写完代码怎么用 python运行有两种方式,一种是在python交互式命令行下运行:另一种是使用文本编辑器,在命令行中直接运行. 一.命令行与交互式命令行 首先要搞清楚这个命令行的概念. ...

  2. python判断英文字母_Python判断两个单词的相似度

    本文要点在于算法的设计:如果两个单词中不相同的字母足够少,并且随机选择几个字母在两个单词中具有相同的前后顺序,则认为两个单词是等价的. 目前存在的问题:可能会有误判. from random impo ...

  3. python游戏贪吃蛇_Python写的贪吃蛇游戏例子_python

    这篇文章主要介绍了Python写的贪吃蛇游戏例子,练手作品,又好玩又可以学到东西,需要的朋友可以参考下 第一次用Python写这种比较实用且好玩的东西,权当练手吧 游戏说明: * P键控制" ...

  4. python实现数字时钟_Python 写的全屏数字时钟软件,看看还有什么改进的地方

    zgzb:软件启动图: https://s1.ax1x.com/2020/09/25/096RzV.png 链接: https://www.lanzoux.com/i2vCzgwo0xa wjj572 ...

  5. python微服务 企业管理_Python写的微服务如何融入Spring Cloud体系?

    前言 在今天的文章中小码哥将会给大家分享一个目前工作中遇到的一个比较有趣的案例,就是如何将Python写的微服务融入到以Java技术栈为主的Spring Cloud微服务体系中?也许有朋友会有疑问,到 ...

  6. python函数调用自身后果_python 写函数在一定条件下需要调用自身时的写法说明...

    例如以下这个函数:state = 1 def set_state(state): while state: set = int(input('请输入9或5,显示"hello world&qu ...

  7. python读取matlab文件_python写文件vs matlab写文件,由另一个s读取

    我在python中打开/关闭文件时遇到了一个奇怪的问题.我正在尝试在python中做同样的事情,就像我在matlab中成功地做的那样,我在通过文本文件与一些软件通信时遇到了一个问题.为什么我不去解决这 ...

  8. python抢红包random实现_python写红包的原理流程包含random,lambda其中的使用和见简单介绍...

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  9. python文件写入乱码_python写文件打开后是乱码

    慕运维8079593 我试了一下,果然爽翻:#!/usr/bin/env python# -*- coding: utf-8 -*-f = open(r"C:\Users\776\test. ...

最新文章

  1. 【Android 逆向】Android 进程代码注入原理 ( 进程注入原理 | 远程调用流程 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 )
  2. java语言简单代码_java语言编程如何实现一个最简单程序?
  3. JavaFX——fxml文件加载错误:[javafx.fxml.LoadException]解决方案之一
  4. 为什么一定要用MQ中间件
  5. 编译Ngnix遇到的问题,查看程序依赖的库文件
  6. 不要等到离职,才明白这些道理
  7. linux修改动态ip名领,Linux动态和静态修改ip(转)
  8. 【数据结构】【未完成】单调栈
  9. Ice_cream’s world III(prime)
  10. 第二模块 商务电子邮件写作技巧
  11. uniapp + vue3微信小程序开发(2)活体人脸识别
  12. Windows下Mingw版本的FFMPEG源码编译
  13. 分享一个干货满满的网址导航
  14. html后代元素选择器,怎么使用html5中的后代选择器?后代选择器的用法详解!
  15. 前端打包工具webpack和Vite
  16. 网络正常但是使用搜索引擎很慢
  17. 人肉搜索受害者可法律维权
  18. 【水声通信】使用Bellohop模型产生水声信道,采用相干检测的方法进行PSK、QAM调制解调【matlab源码】
  19. Unity3d 直升机空战游戏
  20. unity 运行包无法连接SteamVR问题

热门文章

  1. 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁
  2. PCF8563 时钟芯片驱动代码
  3. 女神找我帮忙--图片转成手绘,该不该答应?
  4. 记录一次关于百度网盘打开提示页面不存在的问题(吃相不要太难看)
  5. 【时间之外】面向监狱的编程?该学学网络安全法了(2)
  6. 小新air15为啥没人买_小新air15为啥没人买
  7. 流体机械原理及设计08
  8. 13代酷睿移动端处理器:HX、H、P和U系列区别是什么?
  9. 完整的十字架(漫画)
  10. Kali google 翻译