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ā)
廣告主與搜索引擎的雙向博弈分析
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 国产精品主播| 国产一区二区福利| 毛片免费观看视频| 国产日韩欧美精品区性色| 日本AⅤ精品一区二区三区日| 日本三级黄在线观看| 亚洲综合天堂网| 国产女主播一区| 国产女人18水真多毛片18精品 | 午夜视频免费一区二区在线看| 欧美精品在线免费| 久久精品人人做人人| 亚洲精品无码AV电影在线播放| 综合网久久| 伊人激情综合| 国产91在线|日本| 欧美日韩亚洲综合在线观看 | 激情五月婷婷综合网| 男女男精品视频| 黄色网址免费在线| 日本三级欧美三级| 久久精品嫩草研究院| 香蕉国产精品视频| 国产日韩欧美成人| 国产视频大全| 毛片在线播放网址| 丝袜美女被出水视频一区| 99免费在线观看视频| 美女视频黄又黄又免费高清| 免费日韩在线视频| 强奷白丝美女在线观看| 国产午夜精品鲁丝片| 五月丁香在线视频| 九九九精品视频| 在线无码av一区二区三区| 激情成人综合网| 午夜国产精品视频黄| 国产在线精彩视频论坛| 欧美日韩精品综合在线一区| 亚洲第一成年人网站| 手机精品视频在线观看免费| 欧美区日韩区| 国产精品短篇二区| 国产三级毛片| 亚洲精品爱草草视频在线| 婷婷在线网站| 国产精品毛片一区| 国产精品一老牛影视频| 大乳丰满人妻中文字幕日本| 99er精品视频| 久久无码av三级| 国产美女精品在线| 91精品网站| 特级欧美视频aaaaaa| 久久久精品国产SM调教网站| 综合色88| 久99久热只有精品国产15| 日本91视频| 欧美精品另类| 乱人伦中文视频在线观看免费| 国产日韩欧美在线播放| 亚洲国产清纯| 欧美区国产区| 国产精品性| a级高清毛片| 青青国产视频| 亚洲精品国产乱码不卡| 亚洲综合色婷婷中文字幕| 爆操波多野结衣| 亚洲国产欧美自拍| 欧美v在线| 91精品在线视频观看| 国产青榴视频| 亚洲第一精品福利| 99久久国产自偷自偷免费一区| 国产丰满大乳无码免费播放 | 114级毛片免费观看| 婷婷六月激情综合一区| 无码国产偷倩在线播放老年人 | 欧美在线一二区| 国产精品大尺度尺度视频| 在线观看免费国产|