Ankiデッキ作成のため、自動で単語から例文を取得する(python,webスクレイピング)
英語学習のため、Ankiというアプリを使っている。
そのアプリではcsvのデータを取り込むことが可能で、アドオン(AwsomeTTS)を使えば自動で音声をつけることもできる
今回は、インターネットで収集した単語データに、例文がほしいなと思ったのでweblio辞書から例文を取得するプログラムを書いた。webスクレイピング便利
もともと[英単語,和訳]というデータに対して
三行目に例文を3つ追加する感じにしてみた。
data.head(5) #元のデータexample_list = ["-" for a in range(3149)]
for i in range(3149):print(data.iloc[i][0], data.iloc[i][1], end = " : ")word = data.iloc[i][0]
try:res = requests.get(url +"/" + word)soup = BeautifulSoup(res.content, "html.parser")example_text = ""except:pass
try:lsEN = soup.find_all("p",class_="qotCE")lsJP = soup.find_all("p",class_="qotCJ")for j in range(min(3,len(lsEN))):#print(lsJP[i].text.split("-")[0])#print(lsEN[i].text.replace("例文帳に追加",""))example_text += lsJP[j].text.split("-")[0] + "\n"example_text += lsEN[j].text.replace("例文帳に追加","") +"\n"example_text += "\n"example_list[i] = example_text#print(example_text)#data.iloc[i][2] = example_textexcept:print(word, "エラー発生")sleep(1.0)data["example_sentences"] = example_list #格納data.head(5)