让excel朗读英文单词本

#让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’)

    发布了8 篇原创文章 · 获赞 0 · 访问量 43

    猜你喜欢

    转载自blog.csdn.net/I__INIT/article/details/105124792