欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用BS爬取单词音标

程序员文章站 2022-03-02 21:00:19
...

 如何为英语单词批量添加音标?一个个的上网查?早OUT了吧!

利用PYTHON中的beautiful soup模块那就小菜一碟了。

# -*-coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
f = open('words.txt', encoding='utf-8')  # 打开当前文件位置下的文本文档,每行一个英文单词
fw = open('./result.txt', 'a', encoding='utf-8')
index = 0
for word in f.readlines():
    index = index+1
    url = "https://www.oxfordlearnersdictionaries.com/definition/english/" + word.strip()  # 待查单词的牛津词典网页
    print("当前正在查第{}个单词:".format(index), word)
    wbdata = requests.get(url, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'}).text  # 获取相应网页代码
    soup = BeautifulSoup(wbdata, 'html.parser')  # BS解析代码
    news_titles = soup.select('span[class="phon"]')  # 选取其中的发音代码段,结果为英美两种发音,所以类型为列表
    print(word.strip(), news_titles[0].text, sep='\t', file=fw)  # 每行的英文单词后带有换行标志,所以strip清除掉,选取一个发音的文本,并写到result文本中
fw.close()
f.close()