吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3339|回复: 7
收起左侧

[Python 转载] 分享一个简单的英语单词在线翻译的函数

[复制链接]
panison 发表于 2021-4-8 09:14
本帖最后由 panison 于 2021-4-8 09:17 编辑

之前发了一个[小学|初中|高中][人教版|译林版]英语单词分类查询和默写程序源代码
有网友需要爬取有道翻译的源代码。现分享出来,学以致用,希望能有所帮助。


[Python] 纯文本查看 复制代码
"""
首发52pojie论坛
"""
import requests
from lxml import etree


# 定义函数eng_to_han(),实现英语单词的翻译功能
def eng_to_han(word):
    url = "http://dict.youdao.com/w/eng/" + word
    headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"}
    r = requests.get(url=url, headers=headers)
    r.encoding = "utf-8"
    html = etree.HTML(r.text)
    try:
        # 提取音标
        txt_uk = html.xpath(".//span[@class='pronounce']/text()")[0].strip()
        txt_uk_sm = html.xpath(".//span[@class='phonetic']/text()")[0].strip()
        txt_us = html.xpath(".//span[@class='pronounce']/text()")[3].strip()
        txt_us_sm = html.xpath(".//span[@class='phonetic']/text()")[1].strip()
        sep1 = txt_uk + txt_uk_sm + ";" + txt_us + txt_us_sm
    except(Exception):
        sep1 = ""
    # 提取翻译数据
    lines = html.xpath(".//div[@class='trans-container']/ul/li/text()")
    ls = list()
    for line in lines:
        for s in " \n\t":
            if s in line:
                line = line.replace(s, "")
        if len(line) > 0:
            ls.append(line)
        else:
            pass
    sep2 = "|".join(ls)
    return sep1, sep2


print(eng_to_han("china"))


运行结果如下:

运行结果

运行结果

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
菠萝蜜好吃 + 1 + 1 我很赞同!
chensweet + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

gentlespider 发表于 2021-4-8 09:17
卧槽,有道现在反爬没有js的参数了吗
 楼主| panison 发表于 2021-4-8 09:21
gentlespider 发表于 2021-4-8 09:17
卧槽,有道现在反爬没有js的参数了吗

反爬?我直接用的get方法,目前还没有发现反爬措施。
gentlespider 发表于 2021-4-8 09:39
哦哦,我搞错了。我说的是自动翻译那个页面,就是
http://fanyi.youdao.com/?keyfrom=dict2.top
这个页面是个post请求,有几个参数需要简单的js逆向得到
djdl 发表于 2021-4-8 09:44
非常感谢楼主
sody 发表于 2021-4-8 09:46
感谢楼主分享
chengengwei 发表于 2021-4-8 12:42
感谢楼主分享
lydy 发表于 2021-4-8 15:04
http://fanyi.youdao.com/?keyfrom=dict2.top 感谢楼主分享
macho 发表于 2021-4-8 22:31
小白一个,怎么翻译别的单词啊?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表