劉雷 周玫 江西工業(yè)職業(yè)技術(shù)學(xué)院
在日常生活中,我們在網(wǎng)絡(luò)上檢索圖片信息,一般采用百度搜索、谷歌搜索、360搜索等等搜索引擎,但是在檢索過程中,一般都會出現(xiàn)搜索引擎本身提供的廣告、推廣等信息,為了使搜索內(nèi)容簡單、準(zhǔn)確化,利用python爬蟲技術(shù),開發(fā)了一款圖片搜索功能程序,便于圖片檢索的精準(zhǔn)化。
1.數(shù)據(jù)抓取
利用爬蟲技術(shù),輸入檢索關(guān)鍵字,將網(wǎng)絡(luò)上雜亂無章的初步數(shù)據(jù)進(jìn)行整理,并在盡量少的先驗(yàn)假定條件下進(jìn)行數(shù)據(jù)分析,爬取優(yōu)質(zhì)網(wǎng)頁數(shù)據(jù),檢索出篩選出符合條件的最優(yōu)質(zhì)的圖片資源信息。
2.圖片存儲
將爬取回來的可能存在數(shù)據(jù)缺失、錯(cuò)誤等情況,使用pandas 包方法進(jìn)行數(shù)據(jù)的二次處理,最后直接用文件的形式存在本地文件夾中。
1.爬蟲技術(shù)數(shù)據(jù)檢索
使用現(xiàn)階段較為流行的網(wǎng)絡(luò)爬蟲技術(shù),根據(jù)關(guān)鍵字進(jìn)行數(shù)據(jù)針對化檢索,將檢索的信息最大程度符合用戶需要。
2.數(shù)據(jù)處理
對爬取的URL數(shù)據(jù)信息進(jìn)行二次處理,將數(shù)據(jù)缺失,無效。錯(cuò)誤信息進(jìn)行篩選,以保證爬取信息真實(shí)有效。
3.URL 存儲
將篩選后有效的圖片資源數(shù)據(jù)信息保存到本地文件夾中,方便用戶使用。
爬蟲是采用python語言開發(fā),按照特定規(guī)則自動(dòng)獲取網(wǎng)絡(luò)資源的腳本或程序,其爬取過程大部分都是按“發(fā)送請求——獲得頁面——解析頁面——抽取并儲存內(nèi)容”這樣的流程來進(jìn)行,這其實(shí)也是模擬了瀏覽器獲取網(wǎng)頁信息的過程。
1.本系統(tǒng)采用的研究方法及技術(shù)路線:利用基于Python設(shè)計(jì)及實(shí)現(xiàn)一個(gè)完整的網(wǎng)絡(luò)爬蟲,利用檢索關(guān)鍵字方法爬取符合條件的所有目標(biāo)網(wǎng)站及待抓取的鏈接地址,對鏈接地址中的信息進(jìn)行有效分析提取,并保存在網(wǎng)絡(luò)收藏夾或本地文件當(dāng)中。
2.試驗(yàn)方案:通過現(xiàn)有URL進(jìn)行分析,查看各類符合條件的網(wǎng)頁源代碼,繼續(xù)網(wǎng)頁抓包分析,將各類網(wǎng)頁文件、代碼形式進(jìn)行分類概括,基本步驟:
(1)不設(shè)防的網(wǎng)站,直接爬取,不做任何偽裝
(2)基礎(chǔ)防備的網(wǎng)站,爬取過程中增加休眠次數(shù),降級爬取頻次,防止被限制。再可以每次爬取切換頭信息,偽裝成多個(gè)終端發(fā)起的請求
(3)需要登錄的情況下,需要多個(gè)用戶賬戶,爬取過程中切換cookie 信息,模擬不同用戶在請求。
(4)使用 IP 代理池,切換 IP,越過高級限制。
3.可行性分析:利用基于Python設(shè)計(jì)及實(shí)現(xiàn)一個(gè)完整的網(wǎng)絡(luò)爬蟲,爬取用戶需要的更準(zhǔn)確的檢索信息,可以在互聯(lián)網(wǎng)上驗(yàn)證實(shí)驗(yàn)方案的可行性和正確性。
4.數(shù)據(jù)處理
數(shù)據(jù)處理包括數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析及存檔。
數(shù)據(jù)的收集,這需要對爬蟲軟件進(jìn)行時(shí)間設(shè)置以保障收集到的數(shù)據(jù)時(shí)效性質(zhì)量。
預(yù)處理環(huán)節(jié)主要包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)歸約與數(shù)據(jù)轉(zhuǎn)換等內(nèi)容,可以大大提高搜索數(shù)據(jù)的總體質(zhì)量,是數(shù)據(jù)過程質(zhì)量的體現(xiàn)。數(shù)據(jù)清理技術(shù)包括對數(shù)據(jù)的不一致檢測、噪聲數(shù)據(jù)的識別、數(shù)據(jù)過濾與修正等方面,有利于提高數(shù)據(jù)的一致性、準(zhǔn)確性、真實(shí)性和可用性等方面的質(zhì)量。
圖1爬蟲流程圖
數(shù)據(jù)分析是數(shù)據(jù)處理與應(yīng)用的關(guān)鍵環(huán)節(jié),它決定了數(shù)據(jù)集合的價(jià)值性和可用性,以及分析預(yù)測結(jié)果的準(zhǔn)確性。在數(shù)據(jù)分析環(huán)節(jié),應(yīng)根據(jù)數(shù)據(jù)應(yīng)用情境與決策需求,選擇合適的數(shù)據(jù)分析技術(shù),提高大數(shù)據(jù)分析結(jié)果的可用性、價(jià)值性和準(zhǔn)確性質(zhì)量。
存檔是將通過數(shù)據(jù)收集、預(yù)處理病分析后的正確數(shù)據(jù)保存到網(wǎng)絡(luò)收藏夾或者本地文件夾中,是爬取數(shù)據(jù)結(jié)果的體現(xiàn)。
5.系統(tǒng)測試
針對基于python的高職教育信息爬取與數(shù)據(jù)分析進(jìn)行測試,包括三個(gè)方面:
(1)針對場景測試,可以通過輸入關(guān)鍵字進(jìn)行測試,包括成功的爬取場景和失敗的場景,比如無數(shù)據(jù)、無效數(shù)據(jù)。
(2)爬蟲質(zhì)量測試,主要是根據(jù)整體設(shè)計(jì)和代碼實(shí)現(xiàn)來分析爬蟲的處理方式是否是高可用的。
(3)爬蟲效率測試,主要針對錄入關(guān)鍵字進(jìn)行數(shù)據(jù)爬取,包括成功爬取所使用的時(shí)間和數(shù)量。
根據(jù)以上設(shè)計(jì),利用python技術(shù)實(shí)現(xiàn)了關(guān)鍵字檢索往哪里圖片信息的作用,該系統(tǒng)主要是將網(wǎng)絡(luò)上零散的數(shù)據(jù)信息,通過在線數(shù)據(jù)分析主要包括探索性數(shù)據(jù)分析,并成功的將檢索關(guān)鍵字將檢索符合條件的圖片信息保持到本地文件夾中。