单词查词搜索并保存的方法-Python自制!

import requests
import csv
from lxml import html
# from bs4 import BeautifulSoup
etree = html.etree
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360SE/13.1.5390.0'}
lione = []
def one(jie):
    url = f"https://www.iciba.com/word?w={jie}"
    dan = requests.get(url, headers=headers).text
    dan1 = etree.HTML(dan)
    return dan1
    '''
    
    获取源代码
    :return: 
    '''
def two(dan1, ftt):
    # lione = []
    try:
        chi = dan1.xpath('//ul[@class="Mean_symbols__fpCmS"]/li[1]/text()')[1]
        chiyi = dan1.xpath('//ul[@class="Mean_part__UI9M6"]/li/div/span/text()')[0]

        aa = {}
        aa['单词'] = ftt
        aa['单词意思'] = chiyi
        aa['单词音标'] = chi
        lione.append(aa)
    except:
        # tom = "no"
        return 'no'

    # print(lione)

    '''
    数据解析
    :return:
    '''
def three():
    with open('dancitt.csv', 'w', encoding='utf-8', newline='') as f:
        # write = (f, fieldnames=['单词', '单词意思', '单词音标'])
        write = csv.DictWriter(f, fieldnames=['单词', '单词意思', '单词音标'])
        write.writeheader()
        write.writerows(lione)
    '''
    
    数据存储
    :return:
    '''
def five():
    #进入背诵模式
    f = open('dancitt.csv', mode='r', encoding='utf-8')
    # f = open('json.data', mode="w", encoding='utf-8')
    f.seek(0)
    # print(f.read())
    li = f.read()
    res = li.split(',')[3::2]

    print(res)
    '''
    :return:
    '''
def four():
    for i in range(100):
        urlf = input("请输入想要查询的单词:")
        if urlf == "0":
            three()
            break
        if urlf == "1":
            five()
            break
        first = one(urlf)

        tom = two(dan1=first, ftt=urlf)     #拿到一次的数据
        if tom == "no":
            print('您输入的有误请重新输入!(#^.^#)')
            continue
        # print(second)
        print(lione)


    ''' 
    主函数
    :return:
    '''

four()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值