# -*- coding: utf-8 -*-
"""
Created on Sun Jun  9 18:02:11 2019
QQ群:476842922(欢迎加群讨论学习)
@author: Administrator
"""
import urllib.request
from lxml import etree
import re
import time
from functools import reduce#获得页面数据
def get_page(myword):basurl='http://cn.bing.com/dict/search?q='searchurl=basurl+mywordresponse =  urllib.request.urlopen(searchurl)  html = response.read()return html#获得单词释义
def get_chitiao(html_selector):chitiao=[]hanyi_xpath='/html/body/div[1]/div/div/div[1]/div[1]/ul/li'get_hanyi=html_selector.xpath(hanyi_xpath)for item in get_hanyi:it=item.xpath('span')chitiao.append('%s||%s'%(it[0].text,it[1].xpath('span')[0].text))if len(chitiao)>0:return reduce(lambda x, y:"%s||||%s"%(x,y),chitiao)else:return ""#获得单词音标和读音连接
def get_yingbiao(html_selector):yingbiao=[]yingbiao_xpath='/html/body/div[1]/div/div/div[1]/div[1]/div[1]/div[2]/div'bbb="(https\:.*?mp3)"reobj1=re.compile(bbb,re.I|re.M|re.S)get_yingbiao=html_selector.xpath(yingbiao_xpath)for item in get_yingbiao:it=item.xpath('div')if len(it)>0:ddd=reobj1.findall(it[1].xpath('a')[0].get('onmouseover',None))yingbiao.append("%s||%s"%(it[0].text,ddd[0]))ddd=reobj1.findall(it[3].xpath('a')[0].get('onmouseover',None))yingbiao.append("%s||%s"%(it[2].text,ddd[0]))if len(yingbiao)>0:return reduce(lambda x, y:"%s||||%s"%(x,y),yingbiao)else:return ""#获得例句
def get_liju(html_selector):liju=[]get_liju_e=html_selector.xpath('//*[@class="val_ex"]')get_liju_cn=html_selector.xpath('//*[@class="bil_ex"]')get_len=len(get_liju_e)for i in range(get_len):liju.append("%s||%s"%(get_liju_e[i].text,get_liju_cn[i].text))if len(liju)>0:return reduce(lambda x, y:"%s||||%s"%(x,y),liju)else:return ""def get_word(word):#获得页面pagehtml=get_page(word)selector = etree.HTML(pagehtml.decode('utf-8'))#单词释义chitiao=get_chitiao(selector)#单词音标及读音yingbiao=get_yingbiao(selector)print("YYYYYYYYYYYYYYYYYYYYYYYy")print(yingbiao)print("YYYYYYYYYYYYYYYYYYYYYYYy")#分割字符串||pronounce=yingbiao.split("||")print("find pronounce") print(pronounce)print("find pronounce")print(pronounce[1])urllib.request.urlretrieve(pronounce[1],word+".mp3")#例句liju=get_liju(selector)return "%s\t%s\t%s\t%s"%(word,yingbiao,chitiao,liju)filename='5.txt'
f=open(filename,"r")
words=f.readlines()
print("==================")
print(words)
print("==================")
f.close()
filename2='5_jieguo.txt'
f=open(filename2,"wb")
i=0
for word in words:print("wwwwwwwwww")print(word)print("wwwwwwwwww")time.sleep(0.2)#Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格)print(word.rstrip(),i)word_line=get_word(word.rstrip())#f.write(word_line)    #f.write("%s\n"%(word_line.encode()))i=i+1
f.close()

根据单词列表通过网络下载单词发音相关推荐

  1. python 单词拆分_python - 如何拆分没有空格的文本为单词列表?将组合单词拆分开...

    python - 如何拆分没有空格的文本为单词列表?将组合单词拆分开 很多时候,我们需要把一长串单词字符拆分开来,比如: 输入:"tableapplechairtablecupboard - ...

  2. 无规则弹窗自动点击插件_vscode 插件会了吧,英语不好的赶紧下载 自动分析源码中的陌生单词、点击朗读单词...

    名字非常土:会了吧! Solgan 还在因为 变量中 包含不认识的单词 头大吗? 还在因为 看不懂 英文注释/文档 掉头发吗 ? 还在因为 各种机器翻译的内容 云里雾里吗 ? 您的救星来了!!!用了& ...

  3. 用python自制背单词程序_c++自制背单词应用

    文件结构: 背词历史.log 用来存放背过的单词,存放的格式是 年-月-日 时:分:秒 单词 词性 中文解释 生词本.txt 用来存放当下要背诵的单词列表,格式是 单词 词性 中文解释 历史记录.tx ...

  4. python英语单词 扇贝英语安卓下载_扇贝单词app下载-扇贝单词英语版 安卓版v3.6.503-pc6手机下载...

    扇贝单词app是一款可以和小伙伴一起学英语背单词的app,扇贝单词英语版属于千万用户的背单词神器,让你的英语水平突飞猛进,你确定不要来试一试吗? 软件介绍 扇贝单词英语版是一款很实用的英语单词学习软件 ...

  5. kali CeWL密码攻击工具 Linux字典生成工具 自定义单词列表生成器

    目录 网络安全法普及 1 CeWL 介绍 2 安装 2.1 CentOS安装 3 使用 3.1 帮助 3.2 常用命令 网络安全法普及 中华人民共和国网络安全法 网络安全审查办法 中华人民共和国密码法 ...

  6. python常用单词下载_python创建属于自己的单词词库 便于背单词

    本文实例为大家分享了python创建单词词库的具体代码,供大家参考,具体内容如下 基本思路:以COCA两万单词表为基础,用python爬取金山词霸的单词词性,词义,音频分别存入sqllite.背单词的 ...

  7. Python 将英语单词列表,转换为听写使用的MP3格式(每个单词朗读两遍)

    点此跳转至 本文代码下载 1. 首先要安装一个包 pydub,使用最流行的方式 pip 即可. 在此之后引用其中的 AudioSegment 模块,此外为了生成的文件名是当前的时间戳,因此导入了 da ...

  8. 雅思单词列表【原创】

    雅思单词列表词汇量有多少呢? 广义的来看,总的词汇量大约有11000个左右,但是这里面有很多的单词是其他的单词派生出来的,如果我们把这些个派生的单词去掉,那么剩下来的只有6000个左右了. 比如下面的 ...

  9. python大写字母怎么表示_python – 如何在字符串中搜索大写字母并返回带有和不带大写字母的单词列表...

    我的家庭作业是编写一个程序,从用户读取一个字符串,并从输入中创建一个单词列表.创建两个列表,一个包含至少包含一个大写字母的单词和一个包含其中一个单词的单词.包含任何大写字母. 使用单个for循环打印出 ...

  10. java所有单词_JAVA常用英语单词列表

    原标题:JAVA常用英语单词列表 第一章: public['pʌblik] 公共的,公用的 static['stætik] 静的;静态的;静止的 void:[vɔid] 空的 main:[mein] ...

最新文章

  1. 通过mtd读写flash_关于如何在kernel起来之后通过直接dd读写nand flash分区来更新zImage的mtd问题...
  2. 【Python】用 Python 来实现PDF 的各种操作(附网站和操作指导)
  3. [蓝桥杯2016初赛]四平方和-数论+枚举
  4. android gallery2源码分析,Android4.2.2 Gallery2源码分析(8)——假装的Activity
  5. 数据库原理—常用的DBS产品简介(六)
  6. Flask详解(中篇)
  7. 吴恩达神经网络和深度学习-学习笔记-40-目标定位
  8. 机器学习--支持向量机(五)核函数详解
  9. mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
  10. 揭秘Mindscape WPF Elements 5新特性
  11. 【九天教您南方cass 9.1】 09 提取坐标的几种方法
  12. 【c4d学习笔记】对称方向不对的问题
  13. Activiti7实战-入门
  14. 计算机网络安全技术实验教程,网络安全实验教程
  15. Matlab实现Monte Carlo期权定价
  16. pci-e串口卡linux 驱动下载,PCI/PCIe串口卡并口卡驱动
  17. opencv实现阈值分割算法和分水岭算法
  18. 电脑连接wifi找不到服务器,为什么电脑连不上wifi显示没有有效的ip配置
  19. 南方人,在北京,夏秋冬
  20. Python 骚操作 之 内层for循环如何break出外层的循环(跳出两层循环)

热门文章

  1. 苹果4放入卡还是显示无服务器,iPhone4S不识别SIM卡 官方出解决方法
  2. Keras:我的第一个神经网络二分类模型
  3. taxi计费器c语言程序,出租车计价器VHDL程序与仿真
  4. ECharts 简明教程,用js输出图表
  5. arcgis 批量计算几何_ArcGIS四种计算图斑面积的方法
  6. 设置open_basedir防止跨站攻击
  7. 超定方程组 matlab
  8. PLC对步进电机的快速精确定位控制
  9. Scintilla的使用c++ build
  10. 微软笔试题 回忆(回文方面)