zoukankan      html  css  js  c++  java
  • 30行爬虫代码实现中英互译

    前言

    最近在学习英语(我是个英语渣渣),加上看英文论文难免少不了要翻译,所以就用python爬虫实现中英翻译的小程序,于是今天就记录一下这个过程,同时也希望分享给粉丝们能够学习,谢谢。

    一、准备工作

    目标网站

    http://fanyi.youdao.com/
    

    这里是选择的有道翻译

    开发环境

    开发工具:Pycharm
    python版本:python3.6.5
    浏览器:Google
    

    二、网页分析

    在Google浏览器中按F12可以查看获取数据包

    翻译请求链接

    http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
    

    这个翻译请求链接,通过这个url与有道服务器进行数据交换

    翻译请求表单

    在FormData里面是发送到请求链接的表单,比如参数i是待翻译的内容

    i:我是李运辰
    

    数据请求响应

    在Response响应数据包里translateResult可以看到响应的内容

    {"translateResult":[[{"tgt":"I'm Li Yunchen","src":"我是李运辰"}]],"errorCode":0,"type":"zh-CHS2en"}
    

    三、代码实现

    请求头Header

    request.add_header('User-Agent',
                           'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')
    

    所需库

    import urllib.request as req
    import urllib.parse
    import json
    

    请求url

    # 输入请求URL
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom='
    

    数据包表单

    data = {}
    # 将请求表单以字典的形式写入data传入,i表示需要翻译的内容
    data['i'] = content
    data['from'] = 'AUTO'
    data['to'] = 'AUTO'
    data['smartresult'] = 'dict'
    data['client'] = 'fanyideskweb'
    data['salt'] = '16099982906531'
    data['sign'] = 'a9d35d5d61ef0421160b9d53b6dff04f'
    data['lts'] = '1609998290653'
    data['bv'] = '4f7ca50d9eda878f3f40fb696cce4d6d'
    data['doctype'] = 'json'
    data['version'] = '2.1'
    data['keyfrom'] = 'fanyi.web'
    data['action'] = 'FY_BY_CLICKBUTTION'
    

    为了防止乱码,进行UTF-8编码

    urllib.parse.urlencode(data).encode('utf-8')
    

    开始请求

    request = req.Request(url, data)
    response = req.urlopen(request)
    html = response.read().decode('utf-8')
    

    解析结果

    # 根据返回内容获取翻译结果
        target = json.loads(html)
        target = target['translateResult'][0][0]['tgt']
        print(target)
    

    四、测试结果

    中文---->英文

    英文翻译成中文

    当输入!q时,结束程序。

    五、结尾

    OK,以上就是Python爬虫的实现中英互译的过程,记录生活,分享生活,有不明白的小伙伴可以在下方评论交流。好了,期待下次的分享。

    加群获取学习资料

    公众号回复:小白入门

    各种爬虫源码获取方式

    公众号回复:爬虫源码

    ------------------- End -------------------

    分析B站《送你一朵小红花》弹幕评论

    快手解析视频真实链接(爬取快手视频)

    欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

    想加入Python学习群请在后台回复【入群

    万水千山总是情,点个【在看】行不行

     
    【加群获取学习资料QQ群:901381280】
    【各种爬虫源码获取方式】
    识别文末二维码,回复:爬虫源码
    欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
    回复【开源源码】免费获取更多开源项目源码
    

    ÃæÃìÃâÃèÃÿÃæÃëÃçÃà

  • 相关阅读:
    XSS之防御与绕过
    说说XXE漏洞那些事
    常见web中间件漏洞(五)weblogic漏洞
    DLL劫持漏洞
    常见web中间件漏洞(四)Tomcat漏洞
    常见web中间件漏洞(三)Nginx漏洞
    CNVD-2021-14536 锐捷 RG-UAC 统一上网行为管理审计系统信息泄露漏洞
    Jupyter安装并设置反向搭理
    读书-刑罚的历史
    读书-反常识
  • 原文地址:https://www.cnblogs.com/chenlove/p/14264706.html
Copyright © 2011-2022 走看看