1. 程式人生 > 實用技巧 >python爬蟲--呼叫某翻譯進行文字翻譯,自己動手製作翻譯器

python爬蟲--呼叫某翻譯進行文字翻譯,自己動手製作翻譯器

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理

以下文章來源於騰訊雲 作者:py3study

( 想要學習Python?Python學習交流群:1039649593,滿足你的需求,資料都已經上傳群檔案流,可以自行下載!還有海量最新2020python學習資料。 )

python爬蟲實現百度譯文字

開啟百度翻譯網站地址,F12審查元素,我這裡用的是火狐瀏覽器

點網路,會發現很多GET,POST請求,右邊訊息頭那裡會有很多資訊:請求地址、請求方法、遠端地址、狀態碼、server、等等之類的資訊

這裡的請求地址才是翻譯的實際地址,看上圖

在客戶端和伺服器之間進行請求,響應的時候,兩種最常用的方法就是get,post

get:定義上來說,是指向伺服器請求獲得資料

post:是向指定伺服器提交被處理的資料

點開一個post請求看看裡面的內容

裡面會有一些表單資料,query:你好,這個你好就是我們剛剛輸入翻譯的內容,有了這些資訊,我們就可以寫爬蟲呼叫了

程式碼如下

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
import urllib.request    #匯入urllib.request模組
import
urllib.parse #匯入urllib.parse這個是用來解析的 import json # json 為輕量級的資料交換格式 input_shuru = input('輸入要翻譯的內容:') #輸入要翻譯的內容 url = 'https://fanyi.baidu.com/v2transapi' #實際翻譯地址 webheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'} # 模擬火狐瀏覽器訪問 headers = webheaders # headers 請求訊息頭,上面設定了一個瀏覽器訊息頭,直接呼叫
req = urllib.request.Request(url,headers) #加上url,headers構成一個完整的訪問請求 data = {} #data 是一個空的字典,下面把百度翻譯表單資料裡面的引數都新增進去 data['from'] = 'auto' data['to'] = 'auto' data['query'] = input_shuru #把要翻譯的內容賦值過來 data['transtype'] = 'translang' data['simple_means_flag'] = '3' #data需要用到urllib.parse.urlencode()函式進行編碼 #注意 encode是進行編碼 ,decode進行解碼 data = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.urlopen(req,data) #開啟目標網站 html = response.read().decode('unicode_escape') #讀取目標網站並解碼成漢字(unicode_escape) target = json.loads(html) #把上面的字串結果用 json 封裝成字典 print('翻譯結果為',target['trans_result']['data'][0]['result'][0][1]) #輸出結果

應該看到的結果