王棟
(遼寧軌道交通職業(yè)學(xué)院,遼寧沈陽,110023)
在進行計算機編程是的數(shù)據(jù)挖掘過程當(dāng)中,PHP 語言所主要展示出來的優(yōu)勢是現(xiàn)如今用于PHP 的開發(fā)時間非常少并且在進行數(shù)據(jù)挖掘的過程當(dāng)中所需要的各項輔助資源也不是特別的多,而在對于計算機編程的支持性方面卻能夠體現(xiàn)出非常巨大的優(yōu)勢。但是在進行網(wǎng)絡(luò)爬蟲的計算機程序編寫的時候使用PHP 也存在著一些缺點需要得到進一步改進。舉個例子來說,在使用PHP 語言來進行編寫網(wǎng)絡(luò)爬蟲程序的時候,會使得軟件的運行速度十分緩慢,這種情況會使得用戶在進行使用的過程當(dāng)中時間花費較多,進而讓使用用戶有著非常不好的用戶體驗。
在進行計算機編程過程當(dāng)中的數(shù)據(jù)挖掘過程當(dāng)中,很多的程序員在進行編程的過程當(dāng)中經(jīng)常會通過進行網(wǎng)絡(luò)爬蟲的方式來進行開展,在進行使用網(wǎng)絡(luò)爬蟲的過程當(dāng)中一些技術(shù)人員會使用JAVA 語言來進行編寫。使用這種計算機編程語言和Python 語言相比較來說,程序員在進行實際編寫的過程當(dāng)中,使用JAVA 需要更多的程序語言來進行輔助,并且在進行編寫的過程當(dāng)中需要數(shù)量比較巨大的代碼。因此使用JAVA語言來進行網(wǎng)絡(luò)爬蟲的編寫相對來說相對比較復(fù)雜,這些復(fù)雜操作對于后續(xù)的使用過程當(dāng)中也會造成非常嚴(yán)重的影響。比如說,在進行編寫相關(guān)程序的過程當(dāng)中,當(dāng)客戶的需求發(fā)生變化過后需要對程序進行修改的時候,就會使得對程序當(dāng)中的內(nèi)容進行較多的修改變動,對于計算機程序的調(diào)整重構(gòu)會造成十分不良的影響。
C++語言其實可以算作是C 語言的一個重要延伸,其在計算機軟件的編寫過程當(dāng)中使用范圍是十分廣泛的,并且在編寫的過程當(dāng)中所具有的功能性方面也是也是具有著非常巨大的優(yōu)勢,但是在其他的方面也還存在著一些不足之處。而就是由于C++語言所具有的強大功能性使得在進行學(xué)習(xí)C++語言的時候的難度程度非常的巨大,使得需要花費很多的時間去進行相關(guān)的學(xué)習(xí),并且使用C++語言進行網(wǎng)絡(luò)爬蟲的編寫相對其他來說也會需要比較長時間的編寫時間,對于編寫的效率很難有一個大幅度的提高。所以一般情況下載進行數(shù)據(jù)挖掘的過程當(dāng)中,通常都是不會去采用C++語言去進行編寫網(wǎng)絡(luò)爬蟲的。
使用Python 語言進行數(shù)據(jù)挖掘,具有非常突出的應(yīng)用優(yōu)勢,因為通過使用Python 語言去進行網(wǎng)絡(luò)爬蟲的編寫時,其爬蟲程序具有簡潔的優(yōu)勢,并且在進行編寫的過程當(dāng)中所需要的代碼量與前述語言相比較少,進而在進行編寫的過程當(dāng)中就會有著非常清晰的編寫思路。并且由于Python 語言所具有的簡潔特點,使得在進行編寫的過程當(dāng)中可以讓其在最短的時間之內(nèi)完成更多的語言操作。所以在進行網(wǎng)絡(luò)爬蟲的編寫過程當(dāng)中,更多的情況下都會使用Python 語言去進行編寫。
對于使用Python 語言的數(shù)據(jù)爬蟲操作需要相應(yīng)的工具配置,首先需要使用瀏覽器的插件將相關(guān)的設(shè)置進行打開,然后在找到127.0.0.1:8888 這個操作去進行作為編程計算機的代理,然后后續(xù)的網(wǎng)絡(luò)爬蟲程序編寫就可以通過這個端口進行編寫。
在進行數(shù)據(jù)爬蟲的過程當(dāng)中首先第一步就是需要打開Options 的對話框,然后在所點開的對話框當(dāng)中去找到HTTTPS 進行勾選,然后找到所能夠信任的信任證書。在完成了這些操作過后最后在點擊Connections 后將網(wǎng)絡(luò)爬蟲軟件進行重啟。重啟過后就可以直接在瀏覽器當(dāng)中去打開桔子網(wǎng)的軟件,打開過后直接使用所編寫的代理端口去對桔子網(wǎng)進行訪問,如果在進行訪問的過程當(dāng)中出現(xiàn)了錯誤的提示,那么問題就可能出在信任證書之上,需要對HTTTP 的協(xié)議進行進一步的了解和分析,找出其中代理協(xié)議當(dāng)中有可能出現(xiàn)的錯誤,找到之所以訪問失敗的原因。
在進行Python 語言的編寫過程當(dāng)中首先第一步需要做的就是建立一個相應(yīng)的文件夾,對于其所創(chuàng)建的文件夾主要可以分成三種的類型,首先第一種類型的文件夾是用于儲存在進行編寫過程 當(dāng)中所設(shè)置的一些爬取的規(guī)則;第二個文件夾的主要作用就是為了用于去儲存進行使用Python 語言所進行爬取的相關(guān)內(nèi)容,最后一個文件夾則是為了能夠?qū)⑺廊〉膬?nèi)容進行存儲和讀取。在創(chuàng)建好相應(yīng)的文件夾過后,緊接著所需要的就是進行獲取軟件。在進行獲取軟件的過程當(dāng)中,首先第一步可以通過使用網(wǎng)絡(luò)爬蟲對數(shù)據(jù)進行搜索,然后在進行搜索過后將所搜索到的相關(guān)內(nèi)容所所需要的目標(biāo)內(nèi)容進行一一的對比,以便能夠?qū)⑵渲械挠行RL 進行進一步的明確,再進行明確過后就可以將這些有效的URL 放入到對應(yīng)的資源庫當(dāng)中去進行排隊將有效的URL 進行取出,然后通過利用所得到的有效地址去進行思索相應(yīng)的網(wǎng)站和網(wǎng)址,將其中相關(guān)的有用數(shù)據(jù)信息進行及時的獲取,然后將這些數(shù)據(jù)信息儲存到本地的資源當(dāng)中。這樣在進行獲取的工作結(jié)束過后就僅僅只是需要將所使用之后的URL 存入到已經(jīng)使用過的數(shù)據(jù)資源庫當(dāng)中去。在進行創(chuàng)建獲取軟件過后,如果相關(guān)的搜索引擎能夠識別知道軟件的URL,那么就需要在進行創(chuàng)建玩新軟件過后自主的相關(guān)相應(yīng)的搜索引擎去發(fā)送新軟件的相應(yīng)網(wǎng)址,這樣當(dāng)其他用戶使用相應(yīng)的搜索引擎進行搜索的過程當(dāng)中就能夠直接在搜索引擎當(dāng)中搜索到相應(yīng)的軟件。并且一般情況下載很多的軟件最下端都會有著一些友情鏈接,比如在學(xué)校的官網(wǎng)上就可以將很多其他高校的鏈接和知網(wǎng)等等的鏈接在其最下端,所以還可以和一些軟件進行相互協(xié)商,將自己軟件的網(wǎng)址通過使用鏈接的方式掛靠在其他的軟件之上。
3.2.1 存儲所獲取的信息
在進行使用URL 進行獲取數(shù)據(jù)過后,對于進行所搜索的網(wǎng)站過后,需要對其中所搜索的數(shù)據(jù)信息進行一個全面的分析,并將其中具有充分價值的信息進行有效的存儲。但是計算機在進行使用的過程當(dāng)中,一般情況下所使用的電腦的內(nèi)存都是極其有限的,所以在進行存儲相應(yīng)的數(shù)據(jù)信息的過程當(dāng)中需要對電腦的存儲空間進行合理的應(yīng)用,在進行存儲的過程當(dāng)中一定要秉承節(jié)約的原則去進行存儲相應(yīng)的有效數(shù)據(jù)信息,對于電腦的內(nèi)存不能夠進行肆意的占用。因此對于所獲取到的相關(guān)信息一定要進行全面的分析和篩選,將那些不具備下載價值的相關(guān)信息進行剔除,避免讓用戶的電腦空間使用量大量增加,造成對資源的不必要浪費。除此之外,在進行獲取到了相應(yīng)的數(shù)據(jù)信息過后,在進行檢索的過程當(dāng)中如果哦發(fā)現(xiàn)其中有很多的內(nèi)容都是雷同的,那么對于這些搜索界面就可以直接進行忽略處理,但是在進行獲取存儲信息的過程當(dāng)中一定要在最大的范圍去獲取相關(guān)的有用信息。
3.2.2 預(yù)處理過程及分頁檢索能力
預(yù)處理指的是在進行網(wǎng)絡(luò)爬蟲的過程當(dāng)中需要對所獲取的信息進行一個簡單的初步處理,通過進行處理的過程當(dāng)中將其中信息當(dāng)中的文字信息內(nèi)容提取出來,將在網(wǎng)頁當(dāng)中所蘊含的各種廣告和其他的無用信息進行處理,這樣就可以將所獲取的信息進行一個簡單的處理。在進行實際的操作過程當(dāng)中會有著一些用戶有著request 的請求,那么就需要相關(guān)的程序員對所獲取的相關(guān)信息進行及時的排序和去掉重復(fù)的部分操作,以便能夠有效地滿足相應(yīng)用戶的實際使用需求。
軟件測試指的是需要對一個已經(jīng)通過進行計算機編程完成過后的計算機軟件完成過后需要對軟件系統(tǒng)進行功能性的測試,通過進行相關(guān)的有效測試來充分檢驗所編寫出來的軟件在實際進行運行過程當(dāng)中的質(zhì)量。在進行實際檢測的過程當(dāng)中,主要可以分為手動檢測和自動檢測兩種檢測方式。手動測試主要是采用鼠標(biāo)測試軟件來對軟件的運行有效性進行測試,自動測試則是主要對軟件進行深度的測試。在進行軟件測試的過程當(dāng)中手動測試和自動測試都是具有著非常巨大的作用,但是在實際進行檢測的過程當(dāng)中在進行手動測試的過程當(dāng)中依然還是存在著很多的問題,并且在加上在進行檢測的過程當(dāng)中還需要非常大量的檢測內(nèi)容,所以在進行手動檢測的過程當(dāng)中難免會出現(xiàn)各種各樣的問題。但是進行手動測試依然還是具有著一些巨大的優(yōu)勢,因為其在進行軟件檢測的過程當(dāng)中最為主要的還是去檢測軟件的業(yè)務(wù)邏輯,這種檢測更多的還是由手動檢測才會具有著更多的優(yōu)勢。
在進行軟件測試自動化平臺的構(gòu)建過程當(dāng)中,需要對C#模塊進行相應(yīng)的設(shè)計。其中在進行設(shè)計的過程當(dāng)中,C#模塊主要是包括四個部分,分別是文件、執(zhí)行、腳本和實時信息。在這其中文件板塊主要是進行創(chuàng)建并對各種類型的文件進行有效的讀取,以便能夠為用戶在顯示界面提供更加方便的服務(wù),讓用戶更加容易對相關(guān)的文件進行儲存。但是在進行控件的使用過程當(dāng)中需要特別注意對于其中的文件格式進行及時的修改,將其調(diào)整為TXT 的文件格式,因為這樣的文件格式更加的具有通用性,并且能夠?qū)ξ募M行及時快速的選擇。在打開文件過后,需要采用逐行進行數(shù)據(jù)讀取的方式來對文件當(dāng)中的字符進行添加,這種方法能夠使得在進行構(gòu)建文件模塊的過程當(dāng)中盡可能地降低在進行字符串連接的損耗。而第二模塊是執(zhí)行模塊在這其中主要的作用就是對系統(tǒng)的運行進行有效的控制??梢詫⒛軌驖M足其中需要使用的文件直接轉(zhuǎn)換為TXT 的格式。
4.3.1 重啟工作流及編譯工作流
進行基于Python 的軟件測試自動化平臺設(shè)計的過程當(dāng)中所主要包含的工作流失重啟工作流、編譯工作流、編譯工作流、執(zhí)行工作流以及輸出工作流這幾個重要的組成部分。首先重啟工作流的主要工作流程為首先進入到臨時的文件當(dāng)中,然后在臨時文件當(dāng)中進行重啟操作。當(dāng)然在進行重啟操作的過程當(dāng)中需要操作者自己進行做出相應(yīng)的選擇,如果在進行重啟的過程當(dāng)中選擇否的話,那么整個重啟工作流將會直接立即結(jié)束,相反如果選擇是就會讓重啟工作流立即執(zhí)行下去,直到重啟工作流結(jié)束過后。第二個是編譯工作流其主要的過程是對相應(yīng)的參數(shù)去進行賦值和變化,然后對每一個例文去進行測試,將所進行測試過后的結(jié)果直接儲存到模板當(dāng)中然后再將相應(yīng)的格式進行直接輸出。
4.3.2 執(zhí)行工作流和結(jié)果工作流
對于Python 的自動化平臺構(gòu)建當(dāng)中,最為重要的兩個工作流就是執(zhí)行工作流和輸出工作流。執(zhí)行工作流首先需要對參數(shù)和賦值的相關(guān)變化進行接收,然后發(fā)出相應(yīng)的命令對編譯器進行控制將文件格式是.PY 的格式進行有效的識別,進行識別過后還需要對這些進行有效的測試看看是否會存在著異常的情況出現(xiàn)。在進行測試的過程當(dāng)中需要將仿真系統(tǒng)所采集到的數(shù)據(jù)進行有效的導(dǎo)入和分析,進行分析過后將結(jié)果文件進行輸出同時在需要使用相關(guān)的文件的時候再進行發(fā)送相應(yīng)的命令去進行將相關(guān)的文件進行及時的調(diào)用。
結(jié)果工作流主要的作用就是對執(zhí)行工作流所輸出的結(jié)果文件去進行有效的讀取,然后通過使用.xml 的格式將結(jié)果文件當(dāng)中的相應(yīng)信息進行編譯,進行編譯過后在將這些節(jié)點添加到前面進行操作失敗的字符當(dāng)中去,進行讀取編譯完畢過后再以.xml 的格式進行有效的輸出。
4.3.3 輸出工作流
輸出工作流首先需要對結(jié)果工作流所輸出的.xml 文件當(dāng)中相應(yīng)的數(shù)據(jù)信息進行讀取,并且需要將其中沒有有效輸出成功的數(shù)據(jù)進行及時的反饋和展示,最后將所有的數(shù)據(jù)實時地傳輸?shù)叫畔⒌娘@示模塊當(dāng)中去。