999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

目前互聯(lián)網(wǎng)中的網(wǎng)絡(luò)爬蟲的原理和影響

2019-12-20 19:30:04趙鑫煒
數(shù)碼設(shè)計(jì) 2019年5期
關(guān)鍵詞:搜索引擎語言信息

趙鑫煒

(四川大學(xué)錦城學(xué)院計(jì)算機(jī)與軟件學(xué)院 四川 成都 611731)

目前,網(wǎng)絡(luò)爬蟲技術(shù)(Web Crawler)已經(jīng)應(yīng)用于互聯(lián)網(wǎng)的絕大多數(shù)地方。其體現(xiàn)為有搜索行為發(fā)生的時(shí)刻也就意味著爬蟲技術(shù)正在應(yīng)用,但是搜索引擎僅是爬蟲技術(shù)其中一個(gè)應(yīng)用點(diǎn)。爬蟲技術(shù)的應(yīng)用場景簡而言之就是就是把在網(wǎng)頁上顯示的信息通過代碼技術(shù)自動獲取處理需要的信息到本地的過程,這種行為也就建立信息獲得者與被信息被獲得者的利弊關(guān)系。

1 網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)原理

1.1 網(wǎng)絡(luò)爬蟲技術(shù)語言的選擇

應(yīng)用的與爬蟲技術(shù)目前主流的分別是C\C++,java和python,三者都是實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲十分成熟的語言。目前互聯(lián)網(wǎng)中主流的搜索引擎都是采用了C\C++編寫爬蟲,擁有cspider等框架,c/c++不失作為最高效的爬蟲語言之一,但學(xué)習(xí)成本和實(shí)現(xiàn)成本高昂。Java作為一個(gè)老牌主流語言在爬蟲的實(shí)現(xiàn)方面已有較為成熟的框架SeimiCrawler、WebMagic等,有著優(yōu)秀的線程進(jìn)程管理機(jī)制,同時(shí)也能夠適應(yīng)較為負(fù)責(zé)的爬蟲設(shè)計(jì)。

Python作為一門最近興起的語言擁有強(qiáng)大的庫支持和穩(wěn)定的線程,進(jìn)程模式,這使python也成為編寫爬蟲較為主流的語言。其它語言例如php等因?yàn)樵愀獾木€程機(jī)制或過于小眾實(shí)現(xiàn)成本太高而沒有成為目前爬蟲技術(shù)的主流選擇。

1.2 網(wǎng)絡(luò)爬蟲的基本流程

一個(gè)網(wǎng)絡(luò)爬蟲所需完成最基本的工作[1]如下:(1)在一個(gè)網(wǎng)頁上,獲取網(wǎng)頁的標(biāo)題和網(wǎng)頁中的摘要;(2)將搜集到的網(wǎng)頁標(biāo)題,鏈接,網(wǎng)頁的摘要放入數(shù)據(jù)庫中;(3)根據(jù)當(dāng)前網(wǎng)頁的內(nèi)容,搜集網(wǎng)頁中的鏈接信息,并根據(jù)鏈接順序搜索相應(yīng)鏈接網(wǎng)頁的內(nèi)容。

首先明確在流程中所需要的必要幾個(gè)關(guān)鍵點(diǎn)(1)url統(tǒng)一資源定位符:為爬蟲指明就提需要獲取資源在互聯(lián)網(wǎng)中的地址(2)網(wǎng)頁請求:在用戶的正常操作時(shí)候點(diǎn)擊一個(gè)鏈接向服務(wù)器發(fā)送了一個(gè)請求(request),這個(gè)請求傳到服務(wù)器邏輯處理過后又向用戶發(fā)送了一個(gè)客戶端所需要的響應(yīng)信息(response),在爬蟲技術(shù)里就需要通過代碼來模擬請求和處理返回的響應(yīng)信息獲得目標(biāo)信息(3)DOM解析:實(shí)際上在客戶端與服務(wù)器上傳輸?shù)牟皇怯脩艨吹降木W(wǎng)頁頁面,而是一組由服務(wù)器組裝好包含目標(biāo)數(shù)據(jù)的代碼,這些代碼通過瀏覽器DOM樹渲染成客戶端的頁面,DOM文檔中包含了目標(biāo)數(shù)據(jù)。

一個(gè)完整的爬蟲程序流程:首先通過(1)根據(jù)構(gòu)造一個(gè)已知的url向服務(wù)器發(fā)送網(wǎng)頁請求(2)正確請求到需要的響應(yīng)信息,否則回到第一步發(fā)送正確網(wǎng)絡(luò)請求(3)對返回的響應(yīng)信息進(jìn)行DOM解析,重復(fù)第一步構(gòu)造新的url判進(jìn)行新的網(wǎng)頁請求(4)對DOM文檔數(shù)據(jù)進(jìn)行過濾獲得目標(biāo)信息并保存到本地。

基于java實(shí)現(xiàn)上述流程至少需要一個(gè)啟動爬蟲項(xiàng)目的Crawler啟動類、一個(gè)用于實(shí)現(xiàn)多線程的MultithreadCrawler類、urlLinks類、一個(gè)用來發(fā)送請求和響應(yīng)RequestAndResponse類、一個(gè)用來獲取響應(yīng)信息內(nèi)容ResponseData類、一個(gè)用來過濾提取響應(yīng)信息的DataDetector類。實(shí)現(xiàn)過程為在UrlLinks類里使用Set來存放url和一個(gè)LinkedList設(shè)置需要訪問的url序列,MultithreadCrawler中Thread方法實(shí)現(xiàn)多線程提高效率,RequestAndResponse類中使用HttpClient方法根據(jù)構(gòu)造好的url向服務(wù)器發(fā)送實(shí)際請求,ResponseData檢查返回的響應(yīng)信息是否是我們需要的數(shù)據(jù)并決定是否繼續(xù)請求,DataDetector使用cssSelector選擇需要的元素并通過正則表達(dá)等方法獲取到需要的信息。這是在最理想的情況下使用爬蟲技術(shù)獲取到最簡單的數(shù)據(jù),在實(shí)際操作中更多復(fù)雜的情況產(chǎn)生。

1.3 網(wǎng)絡(luò)爬蟲的技術(shù)難點(diǎn)

本文在爬蟲流程所述第一步構(gòu)造url就是爬蟲設(shè)計(jì)者需要攻克的第一個(gè)方向,絕大多數(shù)目標(biāo)資源都無法直接獲得url。爬蟲技術(shù)本身就是一個(gè)極其耗費(fèi)網(wǎng)絡(luò)帶寬和機(jī)器資源的程序,這也要求設(shè)計(jì)者良好的控制爬蟲程序的多線程控制。對爬取程序的算法的設(shè)計(jì),爬蟲算法 有廣度優(yōu)先策略(BFS)、深度優(yōu)先策略(DFS)、非完全PageRank策略(Partial PageRank)、OCIP策略(Online Page Importance Computation)等,從而影響爬取的整律回報(bào)率,決定了網(wǎng)絡(luò)爬蟲得到全局范圍內(nèi)的最優(yōu)結(jié)果。在獲取到網(wǎng)頁響應(yīng)信息后還需要正確的解析提取。

2 爬蟲技術(shù)的博弈

2.1 網(wǎng)絡(luò)爬蟲的現(xiàn)狀

網(wǎng)絡(luò)爬蟲的根據(jù)功能分類中可以分為網(wǎng)頁類爬蟲和接口類爬蟲。前者是被搜索引擎所用,原理是根據(jù)互聯(lián)網(wǎng)上的鏈接進(jìn)行遍歷獲取網(wǎng)頁。后者是根據(jù)特定的接口構(gòu)造精準(zhǔn)的API獲取大量目標(biāo)數(shù)據(jù),例如第三方火車票、機(jī)票購票軟件就是通過特點(diǎn)API獲取到票務(wù)信息。

根據(jù)具體引用的不同又分為三類[2],批量型爬蟲(Batch Crawler)、增量型爬蟲(Incremental Crawler)和垂直型爬蟲(Focused Crawler)。批量型爬蟲主要是適應(yīng)于小型需求用來爬取設(shè)定好范圍目標(biāo)特定目標(biāo)的資源,例如目前的為保持實(shí)時(shí)更新的搜索引擎。垂直型爬蟲應(yīng)用于在一個(gè)大范圍爬取目標(biāo)里面精確爬取到目標(biāo)從而節(jié)省資源,例如需要在商城中爬取到所有有關(guān)計(jì)算機(jī)硬件的商品。

根據(jù)爬蟲是意圖可以分為善意型和惡性型。善意型爬蟲主要是被爬取方希望被此爬蟲收錄或者雙方擁有合作協(xié)議,諸多著名搜索引擎就是一個(gè)善意的網(wǎng)絡(luò)爬蟲,也有部分擁有合作協(xié)議的雙方利用爬蟲進(jìn)行雙方數(shù)據(jù)庫補(bǔ)全、數(shù)據(jù)交換等。惡意爬蟲主要是未授權(quán)的第三方爬取目標(biāo)資源的爬蟲程序,主要可以應(yīng)用于商業(yè)數(shù)據(jù)分析競爭,數(shù)據(jù)庫惡意獲取等,惡意爬蟲不光會對被爬取方造成帶寬服務(wù)器等硬件負(fù)擔(dān)還會盜取到更有價(jià)值的商業(yè)信息。

2.2 網(wǎng)絡(luò)爬蟲的攻防

在互聯(lián)網(wǎng)中爬蟲于反爬蟲技術(shù)之間的攻防時(shí)時(shí)刻刻都在發(fā)生,本小節(jié)將介紹幾種較為常見的爬蟲攻防策略。

(1)首先爬蟲實(shí)際是在代碼層面進(jìn)行網(wǎng)頁請求,此時(shí)網(wǎng)站可以檢測訪問者是否是瀏覽器訪問從而封堵部分爬蟲,爬蟲同時(shí)也可以偽造自己的請求頭為自己訪問添加一個(gè)User-Agent使網(wǎng)站判斷自己為網(wǎng)頁訪問。(2)對用戶的操作彈出驗(yàn)證碼驗(yàn)證,普通的爬蟲會不斷根據(jù)爬蟲設(shè)計(jì)者的設(shè)計(jì)重復(fù)的爬取當(dāng)網(wǎng)站檢測到大量的重復(fù)請求后會彈出驗(yàn)證碼驗(yàn)證訪問者是否是機(jī)器,而爬蟲可以借助更多的算法設(shè)計(jì)來識別當(dāng)前驗(yàn)證碼并自動填入后繼續(xù)爬取或借助第三方打碼平臺填入驗(yàn)證碼。(3)對于有價(jià)值的數(shù)據(jù)設(shè)定登錄可訪問,網(wǎng)站一般會通過儲存在客戶端的cookies、token和session來判斷當(dāng)前用戶,爬蟲程序當(dāng)然也可以通過更復(fù)雜的方法來偽造這些信息。(4)網(wǎng)站從服務(wù)器返回一組加密過的字段通過前端復(fù)雜的JavaScript來解析這些字段正常顯示,爬蟲也就需要強(qiáng)大是js功力來逆向模擬這些js處理。(5)由于爬蟲程序是在同一ip地址下大批量訪問,網(wǎng)站會檢測同一個(gè)ip的訪問頻率阻止爬蟲,爬蟲程序此時(shí)可以購買更多的ip地址組成ip池來應(yīng)對。

3 結(jié)語

本文闡述了目前網(wǎng)絡(luò)爬蟲的基本原理,實(shí)現(xiàn)爬蟲技術(shù)所需要的關(guān)鍵技術(shù)點(diǎn)和技術(shù)難點(diǎn),在基于java語言實(shí)現(xiàn)的一個(gè)基本網(wǎng)絡(luò)爬蟲流程。分析了主要爬蟲的幾種分類方法和實(shí)例,在目前爬蟲技術(shù)在網(wǎng)絡(luò)中出現(xiàn)博弈現(xiàn)象和幾種主要的攻防策略體現(xiàn)。當(dāng)今數(shù)據(jù)爆炸時(shí)代,數(shù)據(jù)就像一個(gè)鉆石礦,當(dāng)它的首要價(jià)值被發(fā)掘后仍能不斷給予[2],爬蟲技術(shù)就是為了獲取這些數(shù)據(jù)而生,爬蟲技術(shù)的發(fā)展和博弈會將日益突出。

猜你喜歡
搜索引擎語言信息
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
累積動態(tài)分析下的同聲傳譯語言壓縮
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
我有我語言
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
廣告主與搜索引擎的雙向博弈分析
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 亚洲AV无码久久精品色欲| 18禁不卡免费网站| 一级毛片免费观看久| 91久久精品日日躁夜夜躁欧美| 国产成人精品在线| 亚洲资源在线视频| 99成人在线观看| 国产午夜人做人免费视频中文| 国产精品午夜福利麻豆| 亚洲无码视频图片| 潮喷在线无码白浆| 国模视频一区二区| 99久久这里只精品麻豆 | 好吊妞欧美视频免费| 亚洲中文无码av永久伊人| 国产无遮挡裸体免费视频| 在线观看亚洲天堂| 九色国产在线| 亚洲精品国产首次亮相| 小13箩利洗澡无码视频免费网站| 日韩欧美国产成人| 四虎国产精品永久一区| 国产一二三区视频| 亚洲日韩国产精品综合在线观看| 久久精品午夜视频| jizz亚洲高清在线观看| 波多野结衣一区二区三区四区视频| jizz亚洲高清在线观看| 国产成人久久777777| 国产在线无码一区二区三区| 国产高潮流白浆视频| 日本福利视频网站| 99久久精品无码专区免费| 26uuu国产精品视频| 国产91蝌蚪窝| 女人18毛片一级毛片在线| 91在线播放国产| 小说区 亚洲 自拍 另类| 精品一區二區久久久久久久網站| 狠狠色综合久久狠狠色综合| 国产波多野结衣中文在线播放| 91无码人妻精品一区二区蜜桃| 91www在线观看| 日本国产精品| 青青草国产免费国产| 亚洲日本中文综合在线| 中美日韩在线网免费毛片视频| 亚洲AV无码不卡无码| 东京热高清无码精品| 亚洲午夜天堂| 午夜a级毛片| 2020国产精品视频| 激情成人综合网| yjizz国产在线视频网| 波多野结衣无码中文字幕在线观看一区二区 | 亚洲无线国产观看| 无码精油按摩潮喷在线播放 | 男人的天堂久久精品激情| 四虎精品国产永久在线观看| 国产成人免费高清AⅤ| 日韩专区第一页| 日本a∨在线观看| 狼友av永久网站免费观看| 久久狠狠色噜噜狠狠狠狠97视色 | 中文字幕1区2区| 国内精品91| 玖玖精品视频在线观看| 免费一级无码在线网站 | 久久久精品国产亚洲AV日韩| 欧美黄网站免费观看| 亚洲精品第五页| 久久精品国产亚洲麻豆| 日韩av资源在线| 广东一级毛片| 亚洲色精品国产一区二区三区| 国产精品亚洲天堂| 日韩精品欧美国产在线| 国产精品美女在线| 免费在线成人网| 少妇极品熟妇人妻专区视频| 美女视频黄频a免费高清不卡| 精品亚洲欧美中文字幕在线看|