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

        ?

        基于自動化測試的反爬蟲技術(shù)研究
        ——以天貓平臺為例

        2018-05-18 05:52:01曹文斌張科靜
        現(xiàn)代計算機 2018年11期
        關(guān)鍵詞:爬蟲天貓瀏覽器

        曹文斌,張科靜

        (東華大學(xué)旭日工商管理學(xué)院,長寧 200051)

        0 引言

        伴隨著互聯(lián)網(wǎng)信息技術(shù)的發(fā)展,特別是UGC(User Generate Content)技術(shù)的興起,互聯(lián)網(wǎng)上信息呈現(xiàn)爆發(fā)式增長,各類信息雜亂交錯地分散在各大平臺。有效地收集整理這些多維、非結(jié)構(gòu)化數(shù)據(jù),是各大科研機構(gòu)、互聯(lián)公司實現(xiàn)挖掘算法、挖掘“數(shù)據(jù)資產(chǎn)”的首要前提。

        通過傳統(tǒng)的爬蟲機制,自定義數(shù)據(jù)獲取規(guī)則,能夠在一定程度上滿足個性化需求、獲得主題相關(guān)的數(shù)據(jù),這在過去能夠滿足大部分的科研和生成的需求。然而,近年來社會步入大數(shù)據(jù)時代,越來越多的大平臺公司意識到數(shù)據(jù)是一家公司的重要資產(chǎn)。越來越多的公司投入大量的人力和物力構(gòu)建反爬蟲屏障,通過反爬蟲技術(shù)區(qū)分正常使用的用戶訪問請求和通過爬蟲軟件密集地、反復(fù)地、大批量地訪問請求。因此,通過傳統(tǒng)的爬蟲手段獲取數(shù)據(jù)越來越困難,如何繞開這些反爬蟲的限制是快速獲取批量數(shù)據(jù)的一個難題。

        本研究結(jié)合自動化測試技術(shù)和天貓平臺的搜索引擎,不僅克服了天貓平臺反爬蟲機制帶來的各種障礙,而且獲取的數(shù)據(jù)相關(guān)度較傳統(tǒng)的爬蟲手段獲取的數(shù)據(jù)要高。同時通過分析JSON數(shù)據(jù)結(jié)構(gòu),獲取的數(shù)據(jù)維度超過傳統(tǒng)的搜索引擎獲取的數(shù)據(jù)維度。數(shù)據(jù)的“多維性”對數(shù)據(jù)的進一步挖掘分析具有重要的作用。

        1 爬蟲軟件的通常思路

        網(wǎng)絡(luò)爬蟲(Web Crawler)是一種能夠根據(jù)事先設(shè)定的規(guī)則,自動地在網(wǎng)絡(luò)上像蜘蛛網(wǎng)絡(luò)一樣擴展并采集數(shù)據(jù)的運用程序或網(wǎng)頁腳本。人們也形象稱之為網(wǎng)絡(luò)蜘蛛,該程序能夠向蜘蛛織網(wǎng)一樣不斷擴展網(wǎng)頁鏈接,并遍歷采集網(wǎng)頁內(nèi)容,是搜索引擎中必不可少的組成部分。爬蟲程序信息采集過程一般是從一個初始超鏈接(URL)集合,又稱種子集合開始,首先把種子集合放入待抓取數(shù)據(jù)的任務(wù)隊列中,再根據(jù)事先設(shè)定好的規(guī)則從中取出并訪問超鏈接,遍歷超鏈接指向的網(wǎng)頁分析提取數(shù)據(jù),同時若發(fā)現(xiàn)新的鏈接則提取該鏈接放入待抓取數(shù)據(jù)的任務(wù)隊列中。再按規(guī)則取出任務(wù)隊列中的下一個鏈接,如此循環(huán)往復(fù)直至任務(wù)隊列為空或者滿足設(shè)定的終止條件,實現(xiàn)遍歷“蜘蛛網(wǎng)”的效果[1-2]。網(wǎng)絡(luò)爬蟲可以大致分為四種,分別是:聚焦網(wǎng)絡(luò)爬蟲、深層網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲、通用網(wǎng)絡(luò)爬蟲四種,本課題的研究是一種增量式網(wǎng)絡(luò)爬蟲。增量式網(wǎng)絡(luò)爬蟲(Incremental Web Crawler)僅對已遍歷過的網(wǎng)頁中最新變動(產(chǎn)生新的內(nèi)容或已有內(nèi)容的更新)的部分進行數(shù)據(jù)分析提取,達到增量式效果[3],相對于通用型爬蟲程序具有更強的針對性,降低了訪問的盲目性。本課題每次爬取時僅抓取新增最近的新評論,避免抓取以前下載過的評論。

        隨著信息技術(shù)的蓬勃發(fā)展,出現(xiàn)了各類爬蟲工具、爬蟲算法,各類爬蟲技術(shù)都有自身的特點,“以假亂真”的策略也很多,如模擬登錄、動態(tài)IP等,但爬蟲程序抓取數(shù)據(jù)的過程基本思路大體如圖1所示:

        圖1 爬蟲機制的通常思路

        (1)首先要調(diào)研了解數(shù)據(jù)需求。爬蟲是一個自動擴展遍歷網(wǎng)頁的過程,而網(wǎng)頁上的信息通常是多種多樣的、非結(jié)構(gòu)化的,因此先要了解需求即明確爬蟲方向;

        (2)根據(jù)步驟(1)中的需求定義數(shù)據(jù)規(guī)則。在本課題中是試用正則表達式來定義需求數(shù)據(jù)的規(guī)則,正則表達式是由一些特定的字符組成的規(guī)則字符串,規(guī)則字符串可以對網(wǎng)頁文本進行查找匹配、過濾篩選得到想要的數(shù)據(jù);

        (3)設(shè)定遍歷搜索的規(guī)則。爬蟲的本質(zhì)是一次查找遍歷過程,遍歷的算法通常有深度優(yōu)先、廣度優(yōu)先等算法。我們可以把所有的網(wǎng)頁布局當作一幅有向圖,每個網(wǎng)頁相對于一個節(jié)點,超鏈接相對于有向圖的邊。這樣就能根據(jù)圖的深度優(yōu)先或者圖的廣度優(yōu)先進行遍歷搜索,在本課題中采用的是廣度優(yōu)先搜素規(guī)則;

        (4)根據(jù)數(shù)據(jù)規(guī)則匹配網(wǎng)頁文本。這是整個過程中最為核心的步驟,根據(jù)步驟(2)中定義的數(shù)據(jù)規(guī)則去查找網(wǎng)頁中的內(nèi)容,匹配到的數(shù)據(jù)若為需要的數(shù)據(jù),則提取存儲到本地數(shù)據(jù)庫里面。若為新的超鏈接,則把新發(fā)現(xiàn)的超鏈接加入到URL列表中,這樣就能像蜘蛛一樣展開。

        2.1 置管部位 13例患兒均選擇頭部顳淺靜脈進行置管,其中經(jīng)右側(cè)顳淺靜脈置管者10例,經(jīng)左側(cè)顳淺靜脈置管者3例。

        2 天貓反爬蟲機制阻擾

        反爬蟲是使用相應(yīng)的信息技術(shù)措施,阻止爬蟲程序批量獲取自己網(wǎng)站信息的一種方式。爬蟲和反爬蟲機制是一個對立統(tǒng)一的關(guān)系,相互依存、相互作用、相互轉(zhuǎn)換。反爬蟲機制因爬蟲技術(shù)而起,反爬蟲機制是應(yīng)對爬蟲技術(shù),進行數(shù)據(jù)保護的措施。在實踐過程中,爬蟲和反爬蟲技術(shù)相互促進,爬蟲技術(shù)的改進必然會驅(qū)使人類探究新的反爬蟲技術(shù);同樣,新的反爬蟲技術(shù)出現(xiàn)必然促使數(shù)據(jù)保護方研究新的反爬蟲技術(shù)。

        經(jīng)實驗觀察發(fā)現(xiàn),阿里巴巴天貓商城平臺基于安全考慮,相對于京東商城而言,平臺數(shù)據(jù)保護措施更為嚴格。在目前階段,各大電子商務(wù)平臺甚至包括國內(nèi)在線旅行社OTA(Online Travel Agent)平臺、O2O平臺中,天貓商城平臺數(shù)據(jù)保護措施是最為嚴格的。主要有以下幾點:

        (1)能夠通過鼠標操作路徑等方式區(qū)分真實用戶和爬蟲程序的訪問;

        (2)對不同重要性的信息設(shè)置了不同級別的安全應(yīng)對機制;

        (3)能夠有選擇性地開放給搜索引擎(如百度、谷歌)檢索,百度公司都不能全面抓取天貓到的商品信息;

        (4)天貓平臺對于關(guān)鍵信息,如評論、品屬性信息和搜索返回信息保護極為嚴格,都是動態(tài)生成數(shù)據(jù),返回瀏覽器經(jīng)過瀏覽器解析才行。返回的結(jié)果不能直接顯示在網(wǎng)頁上,需要在瀏覽器本地執(zhí)行JavaScript發(fā)送請求到服務(wù)器,再返回JavaScript再瀏覽器本地執(zhí)行,多次輪回執(zhí)行結(jié)果拼裝組合而成。

        3 自動化測試Selenium

        自動化測試,就是再總結(jié)測試人員日常操作之后設(shè)計開發(fā)程序或者在測試工具中設(shè)定規(guī)則,啟動程序或工具能夠模擬人的操作,進而控制測試過程中的各種對象和類,達到輔助測試的效果,減輕測試人員的重復(fù)性工作[4]。軟件自動化測試能大大提高生產(chǎn)效率,提高測試的覆蓋率及可靠性,是手工測試的一種有益的補充。

        (1)仿真性強,能夠像真實用戶操作一樣,直接在瀏覽器中運行;

        (2)使用方便,提供API接口,供Java等多種高級程序設(shè)計語言調(diào)用;

        (3)Selenium核心browser bot是用JavaScript實現(xiàn)的,有助于避開反爬蟲技術(shù)的限制。

        本課題在充分了解天貓反爬蟲機制之后,結(jié)合瀏覽器自動化測試框架Selenium,編寫的Java評論采集程序,達到了模擬人的操作瀏覽器的效果。能夠通過Java程序自如地啟動關(guān)閉瀏覽器、切換瀏覽的網(wǎng)頁、輸入數(shù)據(jù)到網(wǎng)頁控件中、點擊網(wǎng)頁上的按鈕等操作,通過瀏覽器自如地和天貓平臺進行數(shù)據(jù)交互。

        4 評論數(shù)據(jù)并發(fā)的獲取

        本課題編寫的Java評論采集程序,突破了反爬蟲技術(shù)限制,解決了批量評論采集的難題。程序的運行邏輯如圖2所示:

        圖2 基于Selenium并發(fā)分布式抓取數(shù)據(jù)

        第1步:首先在天貓上搜索目標商品,并記錄搜索結(jié)果頁碼數(shù)量和顯示搜索結(jié)果的URL。搜索結(jié)果的URL含有搜索關(guān)鍵詞信息和搜索結(jié)果顯示頁面的頁碼序號,根據(jù)頁碼遞增能夠遍歷所有的搜索結(jié)果;

        第2步:把第一步記錄的URL和總頁碼數(shù)設(shè)置為程序參數(shù),并根據(jù)需要采集數(shù)據(jù)量的大小設(shè)置線程池的最大線程數(shù)量,啟動程序運行;

        第3步:保存搜索引擎搜索的結(jié)果。程序會啟動Selenium像人工操作一樣快速遍歷所有搜索結(jié)果,并記錄每個搜索結(jié)果商品的URL、單價、評價數(shù)、月銷售量,保持至本地數(shù)據(jù)庫;

        第4步:根據(jù)搜索結(jié)果采集評論。根據(jù)第3步采集的商品URL采集該商品的評論,保持至本地數(shù)據(jù)庫。返回的評論數(shù)據(jù)是JSON類型,里面包含的商品評論屬性主要包括三大部分,分別是評論屬性集、顧客屬性集、交易屬性集。

        5 評論數(shù)據(jù)的采集結(jié)果

        本課題研究的實例是阿里巴巴天貓平臺,設(shè)計的程序在天貓上采集的每條網(wǎng)絡(luò)購物評論數(shù)據(jù)包含38個屬性,這些屬性可分為3個部分,評論屬性集、顧客屬性集、交易屬性集。每個屬性集的主要信息如下面的列表:

        表1 基于Selenium的網(wǎng)絡(luò)評論采集結(jié)果之評論屬性集

        商品評論是顧客對于商品本身體驗發(fā)表的意見觀點;服務(wù)評論是顧客對于購買商品過程的服務(wù)體驗點評,如對物流、客服等評價。商品評論、服務(wù)評論、追加評論、客服對評論回復(fù)是非結(jié)構(gòu)化文本數(shù)據(jù),其他屬性都是結(jié)構(gòu)化數(shù)據(jù)。

        表2 基于Selenium的網(wǎng)絡(luò)評論采集結(jié)果之顧客屬性集

        顧客昵稱是網(wǎng)購商品評論區(qū)列表上顯示的評論用品昵稱。顧客等級對進一步挖掘評論數(shù)據(jù)的價值具有重要的意義,既可以按評論等級篩選數(shù)據(jù),也可以研究不同等級下的用戶評論特征。

        表3 基于Selenium的網(wǎng)絡(luò)評論采集結(jié)果之交易屬性集

        交易結(jié)束時間是指顧客確認收貨的時間,可以根據(jù)這個屬性分析評論對象隨時間的變化;選購商品的屬性是指顧客購買商品時選擇的屬性,如購買衣服時選擇的款式、尺寸、顏色等屬性,可以通過該屬性分析不同顏色、款式的受歡迎程度。

        6 結(jié)語

        本課題研究在充分實驗觀察了天貓平臺頁面結(jié)構(gòu),了解了爬蟲和反爬蟲的機制后,結(jié)合自動化測試框架,構(gòu)建了天貓平臺評論數(shù)據(jù)抓取的解決方案,并由Java高級程序設(shè)計語言實現(xiàn)了該方案,解決了反爬蟲機制封鎖的難題,獲得了38維的高維評論數(shù)據(jù)。該解決方案具有普遍的適用性,稍做調(diào)整即可用于其他互聯(lián)網(wǎng)平臺的數(shù)據(jù)抓取。本課題研究也有些值得進一步深入研究的地方,如何在抓取的海量評論數(shù)據(jù)基礎(chǔ)上,結(jié)合數(shù)據(jù)挖掘等相關(guān)領(lǐng)域的研究進行文本分析,挖掘出評論中的商業(yè)價值。

        參考文獻:

        [1]J.Cho.Crawling the web:Discovery and Maintenance of Large-scale Web Data[D].L.A.:Stanford University,2001.

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

        [3]孟慶浩,王晶,沈奇威.基于Heritrix的增量式爬蟲設(shè)計與實現(xiàn)[J].電信技術(shù),2014,(09):97-98+101+99-100.

        [4]宋波,張忠能.基于系統(tǒng)功能測試的軟件自動化測試可行性分析[J].計算機應(yīng)用與軟件,2005,22(12):31-33.

        猜你喜歡
        爬蟲天貓瀏覽器
        利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
        基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        從天貓的“新零售”變革中看商業(yè)的“新四化”
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
        電子制作(2017年9期)2017-04-17 03:00:46
        雀氏聯(lián)姻天貓母嬰共贏奧斯卡
        生活用紙(2016年6期)2017-01-19 07:36:21
        環(huán)球瀏覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        天貓“北伐”
        中國品牌(2015年11期)2015-12-01 06:21:02
        日本最新一区二区三区视频| 又色又爽又黄又硬的视频免费观看| 久久精品无码鲁网中文电影 | 亚洲人成色7777在线观看| 性夜夜春夜夜爽aa片a| AV中文字幕在线视| 亚洲综合视频一区二区| 夜夜高潮夜夜爽国产伦精品| 人妻少妇av无码一区二区| 精品无码成人片一区二区| 国产女主播福利在线观看| 亚洲熟妇色自偷自拍另类| 亚洲成a人片在线观看无码| 婷婷五月亚洲综合图区| 一区二区三区在线观看视频精品| 国产成人av一区二区三区在线观看 | 国产av熟女一区二区三区| 国产在线精品欧美日韩电影| 精品无人区无码乱码大片国产| 天堂麻豆精品在线观看| 国产老熟妇精品观看| 国产va免费精品观看| 粉嫩小泬无遮挡久久久久久| 中文av字幕一区二区三区| 亚洲小说图区综合在线| 中文字幕在线亚洲一区二区三区| 亚洲中文字幕高清视频| 亚洲国产av自拍一区| 97se亚洲国产综合自在线| 97色综合| 国产一区二区三区成人 | 亚洲旡码a∨一区二区三区| 久久亚洲国产欧洲精品一| 国产美女高潮流白浆视频| 亚洲色大成网站www永久网站| 国产精品半夜| 国产一区亚洲一区二区| 色综合久久蜜芽国产精品| 国产午夜视频在线观看| 成人免费丝袜美腿视频| 男女18视频免费网站|