1. 程式人生 > >【Python爬蟲】有道翻譯最新爬蟲教程,帶GUI應用介面,2018年3月18日實測可用

【Python爬蟲】有道翻譯最新爬蟲教程,帶GUI應用介面,2018年3月18日實測可用

最新的有道翻譯爬蟲程式碼,包含應用程式介面,更新於20180318

import urllib.request
import urllib.parse
import json
import time
import gzip
import random
import hashlib
from tkinter import Tk,Button,Entry,Label,Text,END
class YouDaoFanyi(object):
    def crawl(self,word):
        url= "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
        data={}
        head={}
        ctime=int(time.time()*1000)
        r=str(ctime + random.randint(1,10))
        s='fanyideskweb'
        d='aNPG!!u6sesA>
[email protected]
(-' data['i']=word data['from']='AUTO' data['to']='AUTO' data['smartresult']='dict' data['client']='fanyideskweb' data['salt']=r data['sign']=hashlib.md5((s + word + r + d).encode('utf-8')).hexdigest() data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom'] = 'fanyi.web' data['action'] = 'FY_BY_CLICKBUTTION' data['typoResult'] = 'false' head['Accept'] = 'application/json, text/javascript, */*; q=0.01' head['Accept-Encoding'] = 'gzip, deflate' head['Accept-Language'] = 'zh-CN,zh;q=0.9' head['Connection'] = 'Keep-Alive' head['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8' head['Cookie'] = '
[email protected]
; JSESSIONID=aaa9_E-sQ3CQWaPTofjew; OUTFOX_SEARCH_USER_ID_NCOO=2007801178.0378454; fanyi-ad-id=39535; fanyi-ad-closed=1; ___rl__test__cookies=' + str(ctime) head['Host'] = 'fanyi.youdao.com' head['Origin'] = 'http://fanyi.youdao.com' head['Referer'] = 'http://fanyi.youdao.com/' head[ 'User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' head['X-Requested-With'] = 'XMLHttpRequest' data = urllib.parse.urlencode(data).encode('utf-8') req=urllib.request.Request(url,data,head) response = urllib.request.urlopen(req) with gzip.open(response, 'rb') as f: html = f.read() target=json.loads(html) result = target['translateResult'][0][0]['tgt'] return result class Application(object): def __init__(self): self.window = Tk() self.fanyi = YouDaoFanyi() self.window.title(u'Hokiga翻譯') #設定視窗大小和位置 self.window.geometry('800x400+500+300') self.window.minsize(800,400) self.window.maxsize(800,400) #建立一個文字框 #self.entry = Entry(self.window) #self.entry.place(x=10,y=10,width=200,height=25) #self.entry.bind("<Key-Return>",self.submit1) self.result_text1 = Text(self.window,background = '#ccc') self.result_text1.place(x = 10,y = 5,width = 780,height = 195) self.result_text1.bind("<Key-Return>",self.submit1) #建立一個按鈕 #為按鈕新增事件 self.submit_btn = Button(self.window,text=u'自動翻譯',command=self.submit) self.submit_btn.place(x=170,y=140,width=120,height=50) self.submit_btn2 = Button(self.window,text=u'清空',command = self.clean) self.submit_btn2.place(x=300,y=140,width=70,height=50) #翻譯結果標題 self.title_label = Label(self.window,text=u'翻譯結果:') self.title_label.place(x=10,y=165) #翻譯結果 self.result_text = Text(self.window,background = '#ccc') self.result_text.place(x = 10,y = 190,width = 780,height = 195) #回車翻譯 def submit1(self,event): #從輸入框獲取使用者輸入的值 content = self.result_text1.get(0.0,END).strip().replace("\n"," ") #把這個值傳送給伺服器進行翻譯 result = self.fanyi.crawl(content) #將結果顯示在視窗中的文字框中 self.result_text.delete(0.0,END) self.result_text.insert(END,result) #print(content) def submit(self): #從輸入框獲取使用者輸入的值 content = self.result_text1.get(0.0,END).strip().replace("\n"," ") #把這個值傳送給伺服器進行翻譯 result = self.fanyi.crawl(content) #將結果顯示在視窗中的文字框中 self.result_text.delete(0.0,END) self.result_text.insert(END,result) print(content) #清空文字域中的內容 def clean(self): self.result_text1.delete(0.0,END) self.result_text.delete(0.0,END) def run(self): self.window.mainloop() if __name__=="__main__": app = Application() app.run()

相關推薦

Python爬蟲翻譯最新爬蟲教程GUI應用介面2018318實測可用

最新的有道翻譯爬蟲程式碼,包含應用程式介面,更新於20180318import urllib.request import urllib.parse import json import time import gzip import random import hashli

Python3爬蟲翻譯

inpu handler ram lan chrome+ str sel text json 準備:Python3.5+Chrome+Pycharm 步驟: (1)打開有道翻譯的網頁,然後鼠標右鍵檢查(或者按F12),再輸入一個單詞(例如book),在XHR選項中可以看到這

Apache Struts最新漏洞 遠程代碼執行漏洞預警 20181108

pro 都在 網站服務器 技術 common log down ESS 詳細 2018年11月8日,SINE安全監控檢測中心,檢測到Apache Struts官方更新了一個Struts漏洞補丁,這個漏洞是Apache Struts目前最新的漏洞,影響範圍較廣,低於Apach

[Python]20181218的隨筆記錄

字典,列表的三種巢狀形式 字典巢狀字典 每一個字典key對應的value又是一個字典 適合將擁有多個子屬性的資料封裝在一起的資料 例如:網站有多個使用者,每個使用者都有特定的幾個子屬性 u

Python破解翻譯爬蟲機制

破解有道翻譯反爬蟲機制 web端的有道翻譯,在之前是直接可以爬的。也就是說只要獲取到了他的介面,你就可以肆無忌憚的使用他的介面進行翻譯而不需要支付任何費用。那麼自從有道翻譯推出他的API服務的時候,就對這個介面做一個反爬蟲機制(如果大家都能免費使用到他的翻譯介面,那他的

Python(4) 用Python破解翻譯爬蟲機制

web端的有道翻譯,在之前是直接可以爬的。也就是說只要獲取到了他的介面,你就可以肆無忌憚的使用他的介面進行翻譯而不需要支付任何費用。那麼自從有道翻譯推出他的API服務的時候,就對這個介面做一個反爬蟲機制(如果大家都能免費使用到他的翻譯介面,那他的API服務怎麼賺錢)。這個反爬蟲機制在爬

Python實戰用Scrapyd把Scrapy爬蟲一步一步部署到騰訊雲

將我們的爬蟲部署到騰訊雲伺服器上面。廢話不多說,我們就來實戰操作吧。 這裡選擇什麼雲服務都是可以的,阿里雲,AWS,騰訊雲,其他雲都是沒有問題的。部署方法基本一樣,這裡為了方便,所以筆者選擇了騰訊雲來做講解。 既然我們選擇了騰訊雲,首先去騰訊雲的官網,註冊登入一下。 點選複製https:

python爬取翻譯遇到反爬3分鐘反反爬繞過其反爬

利用有道翻譯的介面,自制一個翻譯程式 檢視其翻譯介面,發現post請求需要傳很多引數,而且經過測驗,satl,sigh屬於動態生成的,遇到這種問題怎麼辦?當然有時間的情況下,可以去研究這些引數在哪個響應中返回,或者怎麼構造,但是一般在工作中我們可能需求來了,不

python爬取翻譯出錯 {‘errorcode’:50}

import urllib.request import urllib.parse url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" key=input("請輸入

iOS-Cocos2d遊戲開發之十八解決滾屏背景/拼接地圖黑邊(縫隙)/動畫播放出現毛邊以及禁止遊戲中自動鎖屏問題!20111218補充

原創,轉載務必在明顯處註明:轉載自 原文連結: http://www.himigame.com/iphone-cocos2d/507.html     本章節主要為大家介紹在遊戲開發過程中經常遇到的兩個問題;     1. 解決滾屏背景或拼接地圖有黑邊!      對於遊戲開

學習筆記2017718MySQL測試:模擬QQ數據庫

關系 ref sts one database 等級 weight insert phone 模擬測試: QQ數據庫管理 一、創建數據庫並添加關系和測試數據 1 ##創建QQ數據庫,完成簡單的測試 2 3 #創建數據庫 4 DROP DATABASE IF EX

2018031220180312(隨想)

post 而是 有一個 然而 clas OS you pos 一個 今天有一個熱點事件,在幾個群裏都有提及。 我以為是假的。沒想到是真的。果然還是太young了。 總結: 有的事,你認為是假的,它是真的。比如今天的焦點事件。 有的事,你認為一定是假的,偏偏是真

20181121煤炭行業的估值高度排名

兗州煤業(SH600188),漲跌: (-0.88%),便宜指數: 144.75,滾動市盈率(PE):6.62,股息收益率 %: 4.76%,市淨率(PB): 0.83,ROE: 12.59% 恆源煤電(SH600971),漲跌: (-0.16%)

20181112其他化學制品行業的股票估值和排名

中材科技(SZ002080),漲跌: (+1.77%),便宜指數: 90.77,滾動市盈率(PE):11.38,股息收益率 %: 2.34%,市淨率(PB): 0.99,ROE: 8.72% 陽谷華泰(SZ300121),漲跌: (+3

20181024 JS中 “邏輯運算”“面試題:作用域問題”“dom對象”這些問題的意見見解

dcb stc ima 事件 代碼 客戶端 document model 變量 1、邏輯運算 || && ! ||:遇到第一個為true的值就中止並返回 &&:遇到第一個為false的值就中止並返回,如果沒有false值,就返回最後一個

Lazy1.1.1 許可權管理系統 20181201正式釋出

本程式是基於最新的jfinal3.5+easyui1.5.2搭建的後臺許可權管理系統MYSQL版,包括選項資料字典、層級資料字典、部門管理、選單管理、角色管理、使用者管理、日誌管理,既適合新手學習,也適合在此基礎上開始您的應用程式開發旅程。演示站點:  http://admin.laz

Lazy.js 1.0.120181201正式釋出

Lazy.js是一個將常用JS方法、AJAX方法、easyui操作方法進行總結歸集的JS工具類。目的很簡單,就是將前端WEB開發常用的JS操作方法歸整合一個js物件,以方便今後爽快的呼叫。 它包括3個方法集,如果你的前端沒有使用easyui,你可以在lazy.js中去除前兩個方法集。 l

真題2018 7 28 貴州省遵義紅花崗教師結構化面試真題

1.一個家長給孩子的信,信大概就是她希望她的孩子能遇到一個嚴厲並且眼中有光的老師,你從中得到什麼啟示? 【參考答案】透過這位家長的信,我們可以看到她希望老師能夠嚴格要求孩子,同時也能夠愛孩子、能夠善於發現孩子的閃光點,這對我們有著很深的啟發意義。不可否認,師者

20181214A股最便宜的股票

dao 華僑 6.5 roi 過多 etop 指數 img 歷史 新鋼股份(SH600782) - 當前便宜指數:193.12 - 滾動扣非市盈率PE:2.91 - 動態市凈率PB:0.96 - 動態年化股息收益率:1.75% - 新鋼股份(SH600782)的歷史市盈