ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python批量查单词源码

2022-02-05 16:01:28  阅读:176  来源: 互联网

标签:__ 例句 Python text 单词 soup lst 源码


英语学习中最难的恐怕就是记单词了。通常情况下是利用纸质或者电子词典一个一个查,耗费时间长,效率低,本人用python编写了一款批量查单词的软件,利用python中BeautifulSoup强大的爬虫功能,批量获取海词dict.cn上面的单词发音、词性和语义,甚至是例句,代码如下:

一、代码演示:

import requests
from bs4 import BeautifulSoup
import re
def read_lst():
    """读取wordlist.txt中的单词"""
    lst=[]
    with open('wordlist.txt',encoding='utf-8') as f:
        lines=f.readlines()
        lst=[i.strip() for i in lines]
    return lst
def look_up(lst):
    """进行单词查询"""
    n=1
    for i in lst:
        url=r"http://dict.cn/"+i
        r=requests.get(url,timeout=30).text
        recode=r.encode('utf-8')
        soup=BeautifulSoup(recode,"html.parser")
        #爬取单词发音
        html=soup.find('bdo',lang="EN-US")
        phonetic=html.string
        #爬取汉语语义
        html2=soup.find("ul",class_="dict-basic-ul")
        meaning=html2.text.replace("\n","")
        #爬取例句
        html3=soup.find("div",class_="layout sort")
        sentence=html3.text.strip()
        s=re.sub("\t|\n\n\n","",sentence)
        with open("Wordmeaning.txt","a+",encoding="utf-8") as f:
            f.write(f"{n}. "+i+phonetic+meaning+"\n")
            f.write(s+"\n") #写入例句
            n+=1
if __name__=="__main__":
    uls=read_lst()
    look_up(uls)

如果不想要双语例句,可以直接把html3那一部分删除就可以了。

二、操作方法视频:

<iframe allowfullscreen="true" data-mediaembed="bilibili" id="OAi0QQpU-1644047726366" src="https://player.bilibili.com/player.html?aid=681355882"></iframe>

英语学习必备:Python批量查单词神器

三、源码和附加文件完整下载地址:

http://down.pandengenglish.com/f/364317-541776018-ae7ded

标签:__,例句,Python,text,单词,soup,lst,源码
来源: https://blog.csdn.net/henanlion/article/details/122790782

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有