zoukankan      html  css  js  c++  java
  • python爬取有道词典

    一、网页分析

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

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

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

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

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

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

     这些是需要提交的参数。

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

    二、代码演示

    # !/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']))
    View Code

    执行代码,效果如下:

    本文参考链接:

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

  • 相关阅读:
    洛谷 P1236 算24点
    洛谷 P1483 序列变换
    洛谷 P2071 座位安排 seat.cpp/c/pas
    洛谷 P3079 [USACO13MAR]农场的画Farm Painting
    洛谷 P3912 素数个数
    洛谷 P1617 爱与愁的一千个伤心的理由
    洛谷 P1894 [USACO4.2]完美的牛栏The Perfect Stall
    hdu_5908_Abelian Period(暴力)
    hdu_4283_You Are the One(区间DP)
    hdu_5903_Square Distance(dp)
  • 原文地址:https://www.cnblogs.com/xiao987334176/p/14103072.html
Copyright © 2011-2022 走看看