1. 程式人生 > 實用技巧 >一篇文章教會你利用Python網路爬蟲獲取有道翻譯手機版的翻譯介面

一篇文章教會你利用Python網路爬蟲獲取有道翻譯手機版的翻譯介面

【一、專案背景】

有道翻譯作為國內最大的翻譯軟體之一,使用者量巨大。在學習時遇到不會的英語詞彙,會第一時間找翻譯,有道翻譯就是首選。今天教大家如何去獲取有道翻譯手機版的翻譯介面。

【二、專案目標】

多國語言的翻譯,可以翻譯詞語或者句子。

【三、涉及的庫和網站】

1、網址如下:

http://m.youdao.com/translate

2、涉及的庫:requestslxml

3、軟體:PyCharm

【四、專案分析】

1、點選F12,點選藍色視窗切換成手機模式,執行進入開發者模式,點選network,找到headers下面的form Data。

2、輸翻譯的詞語點選翻譯按鈕,可以看到這裡有兩個引數,一個是inputtext(輸入的詞語),一個是type(代表語種)。

3、構架一個表單傳入這兩個引數,通過改變引數的型別,從而 實現多國的翻譯。

4、通過返回的頁面進行xpath解析資料。

【五、專案實施】

1、匯入需要庫,建立一個名為YoudaoSpider的類,定義一個初始化方法init。

import requests
from lxml import etree
class YoudaoSpider(object):
    def __init__(self):{
       
        }

if __name__ == '__main__':
    spider = YoudaoSpider()

2、準備url地址,請求頭headers。

'''準備url地址'''
        self.trans_url="http://m.youdao.com/translate"
        '''請求頭'''
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"

3、定義get_result方法,傳入兩個引數,構架表單。

def get_result(self, word, fro):
        '''構造一個form表單資料---表單是一個字典'''
        data = {
            'inputtext': word,
            'type': fro

        }

4、傳送請求, 獲取響應,遍歷得到的結果。

response = requests.post(url=self.trans_url, data=data, headers=self.headers)

html = response.content.decode('utf-8')
pa = etree.HTML(html)
# print(html)
pa_list = pa.xpath("//div[@class='generate']/ul/li/text()")
for i in pa_list:
    print("翻譯為:" + i)

5、判斷輸入的語種類型,呼叫get_result方法。

點選切換語種就可以看得到各國的type型別。例如(中譯韓):

choice = input("1.中翻譯英語  2.中翻韓語 3.把中文翻譯法語 \n請選擇1/2/3:\n")
if choice == '1':
    fro = 'ZH_CN2EN'
elif choice == '2':
    fro = 'ZH_CN2SP'

elif choice == '3':
    fro = 'ZH_CN2FR'

word = input("請輸入你要翻譯的單詞或句子:")
result = spider.get_result(word, fro)

【六、效果展示】

1、輸入你要翻譯的型別。

2、輸入你要翻譯的句子。

【七、總結】

1、本文基於Python網路爬蟲,利用爬蟲庫,獲取有道翻譯的介面。

2、請求介面時構架表單問題進行了詳細的講解。並提供瞭解決方案。

3、大家可以嘗試的去翻譯其他的語言,能夠更好的理解爬蟲的原理。

4、自己嘗試一下,你會發現你也可以 (世上無難事,只怕有心人)。

5、需要本文原始碼的小夥伴,後臺回覆“有道詞典”四個字,即可獲取。

看完本文有收穫?請轉發分享給更多的人

IT共享之家

入群請在微信後臺回覆【入群】


想學習更多Python網路爬蟲與資料探勘知識,可前往專業網站:http://pdcfighting.com/