亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2021-12-06 07:55:40羅曉東
        科學(xué)與生活 2021年24期

        羅曉東

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

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

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

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

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

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

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

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

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

        請(qǐng)求頭——模擬瀏覽器去請(qǐng)求服務(wù)器,反反爬蟲(chóng)的運(yùn)用。

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

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

        1.窗口模塊

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

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

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

        3.爬蟲(chóng)分析模塊

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

        首先我們要爬取的URL地址是http://fanyi.youdao.com/,我們可以先用瀏覽器打開(kāi)有道翻譯的地址進(jìn)行網(wǎng)頁(yè)分析。這時(shí)我們應(yīng)該去找POST屬性的網(wǎng)絡(luò)請(qǐng)求,然后我們就會(huì)發(fā)現(xiàn),這個(gè)POST請(qǐng)求的網(wǎng)址到底什么意思?其實(shí)它就是服務(wù)器的地址。當(dāng)我們要翻譯一個(gè)內(nèi)容就必須向服務(wù)器發(fā)送一些數(shù)據(jù),它是以表單參數(shù)的形式發(fā)送過(guò)去,我們可以在瀏覽器中找到,當(dāng)網(wǎng)絡(luò)通暢,沒(méi)有其他阻礙的時(shí)候,服務(wù)器收到了給它發(fā)的數(shù)據(jù),也會(huì)返回一個(gè)響應(yīng),其實(shí)它是一個(gè)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.爬蟲(chóng)實(shí)現(xiàn)模塊

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

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

        【參考文獻(xiàn)】

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

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

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

        久久精品国产亚洲av高清蜜臀 | 免费人成小说在线观看网站| 亚洲人成网址在线播放| 丝袜AV在线一区二区三区| 麻豆AV无码久久精品蜜桃久久 | 色先锋av资源中文字幕| 无码AV高潮喷水无码专区线| 有码中文字幕一区二区| 精品人妻久久一区二区三区| 一区二区三区乱码在线 | 欧洲 | 亚洲av日韩av永久无码下载| 精品国产乱码久久久软件下载| 亚洲一区二区三区久久蜜桃| 亚洲av网一区二区三区成人| 精品亚洲成a人在线观看 | 在线视频日韩精品三区| 久久精品国产av一级二级三级| 亚洲av永久精品爱情岛论坛| 国产欧美va欧美va香蕉在线观 | 青青草激情视频在线播放| 精品国产av一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 精品国产成人一区二区不卡在线| 91日韩东京热中文字幕| 国产精成人品日日拍夜夜免费| 国产91网| 日本美女性亚洲精品黄色| 2019nv天堂香蕉在线观看| 免费无码午夜福利片69| 久久99精品波多结衣一区| 国产成人亚洲精品91专区高清| 日本真人做人试看60分钟| 欧美自拍视频在线| 成人免费毛片在线播放| 国产免费三级av在线| 乱人伦中文无码视频| 国内精品福利在线视频| 色播视频在线观看麻豆| 鸭子tv国产在线永久播放 | 中文字幕人妻丝袜成熟乱| 国产激情自拍在线视频|