python爬取有道词典

发布时间:2020-12-10 09:49:41编辑:admin阅读(3454)

    一、网页分析

    打开Google浏览器,找的有道词典的翻译网页(http://fanyi.youdao.com/)

    打开后摁F12打开开发者模式,找Network选项卡,点击Network选项卡,然后刷新一下网页

    然后翻译一段文字,随便啥都行(我用的程序员的传统:hello world),然后点击翻译

    在选项卡中找到以translate开头的post文件

    1.png

     

    上面标注的,写代码时要用

     

    1.png

     

    记住 User-Agent,用来伪装浏览器请求

     

    1.png

     

     这些是需要提交的参数。

     

    好,准备工作做完了,接下来开始干正事了

    二、代码演示

    # !/usr/bin/python3
    # -*- coding: utf-8 -*-
    import json
    import requests
    
    while True: #无限循环
        content = input("请输入您要翻译的内容(输入 !!! 退出程序): ")
        #设置退出条件
        if content == '!!!':
            break
    
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #选择要爬取的网页,上面找过了
        # 手动替换一下
        header = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'}
    
        #伪装计算机提交翻译申请(下面的内容也在在上面有过,最好根据自己的进行修改)
        data = {}
        data['type'] = 'AUTO'
        data['i'] = content
        data['doctype'] = 'json'
        data['version'] = '2.1'
        data['keyfrom:'] = 'fanyi.web'
        data['ue'] = 'UTF-8'
        data['typoResult'] = 'true'
        # post请求
        response = requests.post(url,headers=header,data=data)
        # 解码
        html = response.content.decode('utf-8')
        # 转换为字典
        paper = json.loads(html)
    
        #打印翻译结果
        print("翻译结果: %s" % (paper['translateResult'][0][0]['tgt']))


    执行代码,效果如下:

    1.png

     

     

     

    本文参考链接:

    https://blog.csdn.net/Spiderman_Feng/article/details/110675766


关键字

上一篇: 破解google翻译接口

下一篇: 没有了