• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Python爬蟲的英漢互譯項目的設(shè)計與實現(xiàn)

      2021-12-06 07:55:40羅曉東
      科學(xué)與生活 2021年24期
      關(guān)鍵詞:英漢互譯爬蟲

      羅曉東

      摘語:爬蟲是能夠自動爬取網(wǎng)頁中許多種類數(shù)據(jù)的一種程序。爬蟲一般是利用網(wǎng)頁的URL來查找網(wǎng)頁內(nèi)容,然后直接返回給用戶所需要的數(shù)據(jù),不需要人工操作瀏覽器獲取。爬蟲是搜索引擎的一個重要組成部分,幫搜索引擎爬取互聯(lián)網(wǎng)中的重要數(shù)據(jù)。爬蟲程序核心是對網(wǎng)頁進(jìn)行解析,從中提取出自己想要的信息數(shù)據(jù)。

      關(guān)鍵詞:Python、爬蟲、英漢互譯

      英漢互譯在生活中也是特別重要的一個問題,像是平時大家在學(xué)習(xí)或者瀏覽一個英文的網(wǎng)頁,會經(jīng)常遇到不認(rèn)識的英文單詞。有時候一個單詞會讓我們很難去理解一句話的意思,這時候我就就不得已去查英漢字典,可是查字典又費時費力。在這里就引出了本文的重要例題----英漢互譯。我可以在這里運用Python做一個英漢互譯的項目來準(zhǔn)確實時的對英語進(jìn)行翻譯?;蛟S我們在跟外國人交流的時候還有很多中文單詞我們不能翻譯成英文。還有我們不僅可以去翻譯單個單詞,當(dāng)然也可以翻譯一段話。該文章詳細(xì)介紹了如何運用Python爬蟲抓取網(wǎng)站。

      隨著互聯(lián)網(wǎng)時代迅猛發(fā)展,網(wǎng)絡(luò)已成為大數(shù)據(jù)信息的載體,如何能從網(wǎng)絡(luò)里有效地提取并利用這些信息就是一個富有挑戰(zhàn)的難題。用戶網(wǎng)絡(luò)檢索信息通常用的方法便是搜索引擎,但是具有一定的局限性,比如說,不同期望的用戶往往具有不同的檢索目的和需求,而普遍的搜索引擎它返回的內(nèi)容往往包含很多用戶不需要的東西。若要實時監(jiān)測網(wǎng)絡(luò)新聞的發(fā)展與變化,則必須使用相關(guān)工具,人工的速度太慢,這時候網(wǎng)絡(luò)爬蟲就應(yīng)運而生了。

      利用C++和Java進(jìn)行爬蟲的程序代碼,C++代碼復(fù)雜性高,而且可讀性、可理解性較低,不易上手,一般比較適合資深程序員編?寫,來加深對C++語言的理解,不合適初學(xué)者學(xué)習(xí)。Java的可讀性適中,可是代碼冗余較多,相同的一個爬蟲,Java的代碼量大概會是Python的兩倍。Python作為一種語法簡練,其便捷性、簡單上手性令眾多程序員喜歡,當(dāng)然Python也跟其他大多數(shù)程序語言一樣也具有面向?qū)ο蟮木幊?。本文主要介紹如何利用Python進(jìn)行網(wǎng)站數(shù)據(jù)的抓取工作,然后加以利用使其成為一個英漢互譯的工具。

      在安裝Python的基礎(chǔ)上,運用編輯器PyCharm對代碼進(jìn)行一系列的編輯。PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā)。我們可以導(dǎo)入別人寫好的庫,非常的方便簡潔。

      設(shè)計網(wǎng)絡(luò)爬蟲翻譯系統(tǒng)要解決的以下幾個問題:

      窗口的初始化、輸出,文本框、按鈕等標(biāo)簽控件的使用。

      網(wǎng)頁的分析,運用pip第三方庫的導(dǎo)入。

      請求頭——模擬瀏覽器去請求服務(wù)器,反反爬蟲的運用。

      運用URL中有道詞典對輸入的關(guān)鍵字進(jìn)行翻譯,然后運用爬蟲獲取翻譯之后的返回值。

      系統(tǒng)結(jié)構(gòu)邏輯上由四個部分組成:第一個部分是窗口模塊,負(fù)責(zé)窗口、輸入框標(biāo)簽和按鈕的搭建;第二個部分是按鈕功能實現(xiàn)模塊,將窗口模塊中的按鈕實現(xiàn)具體的功能;第三個部分負(fù)責(zé)爬取后網(wǎng)頁數(shù)據(jù)的處理與分析;第四層是數(shù)據(jù)展示模塊,負(fù)責(zé)將分析整理后的數(shù)據(jù)以文本的形式在翻譯之后的文本框內(nèi)顯示出來。

      1.窗口模塊

      設(shè)計這個項目的時候首先來創(chuàng)建一個窗口,然后在窗口中添加文本框、輸入框和按鈕。當(dāng)我們添個各個組件的時候并未顯示,在Python中叫做未實例化,所以可以通過root.maimloop()來顯示窗口.?當(dāng)我們在設(shè)計窗口時,我們可以先給它一個標(biāo)題。然后發(fā)現(xiàn)它的初始化都是在電腦的左上角,而且大小還是初始的大小,為了利于輸入時的內(nèi)容看得見,現(xiàn)在需要對窗口的大小和位置進(jìn)行調(diào)整。在這里我們用到了title()以及geometry().窗口創(chuàng)建完后先開始添加標(biāo)簽控件,創(chuàng)建好了但是沒有顯示,因為在tkinter中標(biāo)簽控件需要進(jìn)行定位,確定標(biāo)簽控件在窗口中的具體位置。在這里直接用label.grid()就可以顯示。在這里我們運用了表格式布局。同理根據(jù)標(biāo)簽控件的定位方法,可以對輸入框進(jìn)行定位。在這里出現(xiàn)了一個問題,因為這個窗口是表格式布局,所以在實現(xiàn)輸入框?qū)嵗臅r候其實它跟我們的要求有一定的差距。當(dāng)然我們?yōu)榱嗣烙^,可以對輸入框和標(biāo)簽控件進(jìn)行布局整理。輸入框和標(biāo)簽控件還需要加上坐標(biāo),然后設(shè)置輸入框內(nèi)所輸入的字體跟字號,在這里我們選擇適合的大小,大小選擇380x100就可以,位置可以根據(jù)屏幕的大小進(jìn)行具體的調(diào)整,在這里我選用530+300。然后加上“翻譯后的結(jié)果:”的標(biāo)簽。同理我們可以在grid()中通過row和column來確定具體的行和列。在這里我們還需要兩個按鈕來做點擊事件,一個是“翻譯”按鈕,點擊就可以對輸入框內(nèi)的內(nèi)容進(jìn)行翻譯;另外一個就是“退出”按鈕,點擊此按鈕窗口進(jìn)行關(guān)閉,任務(wù)結(jié)束。button.grid()里對齊方式運用sticky?=?W、E、N、S分別表示左對齊、右對齊、上對齊、下對齊。在這里我們對“翻譯”按鈕運用左對齊,對“退出”按鈕運用右對齊。

      2.按鈕功能實現(xiàn)模塊

      首先簡單地介紹下Tkinter的概念,Tkinter?模塊(Tk?接口)是?Python?的標(biāo)準(zhǔn)?Tk?GUI?工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺下使用,同樣可以應(yīng)用在?Windows?和?Macintosh?系統(tǒng)里。Tk8.0?的后續(xù)版本可以實現(xiàn)本地窗口風(fēng)格,并良好地運行在絕大多數(shù)平臺中Tkinter?按鈕組件用于在Python應(yīng)用程序中添加按鈕,按鈕上可以放上文本或圖像,按鈕可用于監(jiān)聽用戶行為,能夠與一個?Python?函數(shù)關(guān)聯(lián),當(dāng)按鈕被按下時,自動調(diào)用該函數(shù)。

      3.爬蟲分析模塊

      爬蟲分析的設(shè)計思路:爬取的網(wǎng)站地址,獲取對應(yīng)頁面,提取有用數(shù)據(jù)并將數(shù)據(jù)顯示在我們要他現(xiàn)在是的文本框內(nèi)。接下來就是對爬蟲一步一步的實現(xiàn)功能。

      首先我們要爬取的URL地址是http://fanyi.youdao.com/,我們可以先用瀏覽器打開有道翻譯的地址進(jìn)行網(wǎng)頁分析。這時我們應(yīng)該去找POST屬性的網(wǎng)絡(luò)請求,然后我們就會發(fā)現(xiàn),這個POST請求的網(wǎng)址到底什么意思?其實它就是服務(wù)器的地址。當(dāng)我們要翻譯一個內(nèi)容就必須向服務(wù)器發(fā)送一些數(shù)據(jù),它是以表單參數(shù)的形式發(fā)送過去,我們可以在瀏覽器中找到,當(dāng)網(wǎng)絡(luò)通暢,沒有其他阻礙的時候,服務(wù)器收到了給它發(fā)的數(shù)據(jù),也會返回一個響應(yīng),其實它是一個json的數(shù)據(jù)類型。其中包括我們輸入的內(nèi)容以及服務(wù)器分析之后返回的內(nèi)容,數(shù)據(jù)類型如下,

      {"translateResult":[[{"tgt":"hello","src":"你好"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","hello\r\n","hi\r\n","how?do?you?do\r\n"],"type":1}}

      4.爬蟲實現(xiàn)模塊

      以上就是我們對翻譯過程進(jìn)行的分析,其實也不是很難,接下來我們用Python來模擬這一過程就可以實現(xiàn)英漢互譯的效果。瀏覽器給服務(wù)器發(fā)送什么內(nèi)容我們可以用Python同樣發(fā)送一個內(nèi)容,當(dāng)我們用Python模擬成瀏覽器之后服務(wù)器也會返回給我們一個參數(shù)。我們可以讓程序運行一下,并輸入任意一個英文單詞,效果圖如下:

      通過對Python項目的分析,對該系統(tǒng)的各個功能進(jìn)行設(shè)計,并采用了GUI的tkinter庫及整合,用requests庫進(jìn)行爬蟲項目,完成了整個網(wǎng)站的各個功能的實現(xiàn)。

      【參考文獻(xiàn)】

      于娟,劉強.?主題網(wǎng)絡(luò)爬蟲研究綜述[J].?計算機工程與科學(xué),?2015,?37(02):231-237.

      張紅云.?基于頁面分析的主題網(wǎng)絡(luò)爬蟲的研究[D].?武漢理工大學(xué),?2010.

      張瑩.?面向動態(tài)頁面的網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計與實現(xiàn)[D].?南開大學(xué),?2012.

      猜你喜歡
      英漢互譯爬蟲
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      從民族特性看“狗”與“dog”的英漢互譯
      英漢互譯課翻轉(zhuǎn)課堂教學(xué)研究
      淺議科技術(shù)語英漢互譯中的幾個問題
      英漢互譯中的漢語四字結(jié)構(gòu)
      科技視界(2015年9期)2015-04-07 11:07:01
      白河县| 嘉荫县| 内丘县| 五指山市| 湖南省| 肇庆市| 韩城市| 修水县| 田阳县| 靖宇县| 天长市| 瑞金市| 清苑县| 高碑店市| 通城县| 洛扎县| 三原县| 饶平县| 闽侯县| 西平县| 巴林右旗| 罗山县| 西昌市| 江达县| 宁城县| 清流县| 思南县| 汽车| 涿州市| 江川县| 新河县| 榆中县| 涞水县| 三原县| 乌兰县| 阜康市| 容城县| 彩票| 济南市| 墨竹工卡县| 丹江口市|