让excel朗读英文单词本

通过Python脚本,结合xlrd、requests、BeautifulSoup和win32com.client库,实现从Excel读取英文单词,访问有道翻译获取单词释义,将翻译结果存入新Excel,并利用win32com.client的朗读功能让电脑读出单词及翻译。

#让excel朗读英文单词本
import xlrd
from bs4 import BeautifulSoup #最主要的功能是从网页抓取数据
import requests #requests是python实现的最简单易用的HTTP库,建议爬虫使用requests 获取某个网页 各种请求
import time
import xlsxwriter as wx
import win32com.client #带有朗读的功能
#1.打开工作表的第一列
xlsx = xlrd.open_workbook(r’C:\Users\Polyxena\Desktop\test\word_test.xlsx’)
table = xlsx.sheets()[0]
#2.新建一个工作表存储新的数据,存储翻译过的单词
dst_wb = wx.Workbook(‘words_trans.xlsx’)
worksheet = dst_wb.add_worksheet()
#3.遍历 第一列的单词
for row in range(0,table.nrows):
#time.sleep(1)
word = table.cell(row,0).value
#3.1 用爬虫获取对于某个单词的翻译
url = ‘http://www.youdao.com/w/eng/’ + word
#3.2 Requests是用Python语言编写的,基于urllib3来改写的,一句话—Python实现的简单易用的HTTP库。一般有get和post两种方法
web_data = requests.get(url).text
#3.3 用beautifulSoup 解析网址
soup = BeautifulSoup(web_data, ‘lxml’)
#3.4 这里面某一个位置是我们需要的翻译
meaning = str(soup.select(’#phrsListTab > div.trans-container > ul > li’)).replace(’

  • ’, ‘’).replace(’
  • ’, ‘’)
    translation = meaning[1:-1]
    print(word)
    #3.4 翻译保存下来,放在单元格里面
    worksheet.write(row, 0, word)
    worksheet.write(row, 1, translation)
    dst_wb.close()
    #win32这个库自带朗读功能
    speaker = win32com.client.Dispatch(‘SAPI.SpVoice’)
    xlsx = xlrd.open_workbook(r’words_trans.xlsx’)
    #定位在表的第一列
    table = xlsx.sheets()[0]
    for row in range(0, table.nrows):
    #time.sleep(1)
    word = table.cell(row, 0).value
    word_segment = []
    for i in word:
    word_segment.append(i)
    word_segment.append(’-’)
    word_2 = ‘’.join(word_segment)
    speaker.Speak(str(table.cell(row, 0).value))
    speaker.Speak(str(word_2))
    speaker.Speak(str(table.cell(row, 0).value))
    speaker.Speak(str(table.cell(row, 1).value))
    workbook.save(filename=‘words_trans.xlsx’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值