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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM