利用百度打造自己的百度終端翻譯

因爲我們利用的是百度翻譯,而我們發送的也是一個post請求,所以利用requests.get方法肯定是不能達到目的,我們需要使用requests.post方法。以下是post方法所用到的參數:


data就是我們需要發送的參數

我們看看我們怎麼樣通過瀏覽器發送的post請求,利用谷歌瀏覽器:

我們關注Form Data裏面的內容:

這裏就是我們post請求所需要的data數據,但是不難看出,sign和token是隨機的,而不是固定,這樣我們就得不到其準確的值。但是我們可以通過別的渠道發送post請求,例如:

我們可以通過這個按鈕將原本的網頁形式換成手機端的形式,看一下發送的數據,即data:

此時我們可以看到,需要的data數據就只有三條,而且都是可控的,那麼我們就可以寫我們的代碼了


注意:
1

由於python2中的編碼問題,所以我們需要加上這兩行代碼,否則我們在翻譯過程中的中文將不會正確的顯示出來,而python3中就不會出現這樣的問題,則不需要寫這兩行代碼
2

從這個json數據中獲取我們想要的數據

知識點:
一,sys.argv
sys.argv是python用來獲取命令行參數的,舉例:

我們可以看出,當我們在python fanyi.py後面加參數時,通過sys.argv就可以獲得後面的參數,而且返回的是一個列表的形式,而且第一個參數就是python後面的數據 後面的第一個數據就是我們想要的數據,所以:

二,利用alias將終端裏的python命令轉換爲我們想要的命令
因爲我使用的ubantu16.04,所以我們找到我們的.bashrc文件,在家目錄下,即:

使用vi打開我們的.bashrc文件,在最後一行加一行代碼,如圖(python後面加你的代碼的絕對路徑)


然後返回終端,輸入source .bashrc,回車

最後,使用終端就可以了:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章