欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于情形的爬行的制作方法

文檔序號(hào):6497830閱讀:192來(lái)源:國(guó)知局
基于情形的爬行的制作方法
【專利摘要】可以在爬行蟲和網(wǎng)站之間建立交互會(huì)話。爬行蟲可以定義表示用于與一個(gè)或多個(gè)網(wǎng)站交互的用戶狀態(tài)的會(huì)話狀態(tài)、條件集合以及要基于該條件集合是否被滿足而選擇性激活的情形集合。爬行蟲可以在交互會(huì)話期間從網(wǎng)站接收內(nèi)容。爬行蟲可以解析來(lái)自網(wǎng)站的內(nèi)容并且可以將所解析的內(nèi)容與之前定義的項(xiàng)目集合進(jìn)行匹配來(lái)確定內(nèi)容匹配條件是否被滿足。如果內(nèi)容匹配條件被滿足且如果狀態(tài)條件被滿足,則所述爬行蟲激活由所述爬行蟲定義的情形,所述情形在內(nèi)容匹配條件和狀態(tài)條件未被滿足的情況下不被爬行蟲激活。
【專利說(shuō)明】基于情形的爬行
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及與計(jì)算機(jī)軟件應(yīng)用的自動(dòng)交互,并且更具體地涉及基于計(jì)算機(jī)的文檔或軟件應(yīng)用的自動(dòng)爬行(crawl)。
【背景技術(shù)】
[0002]自動(dòng)軟件工具已經(jīng)被長(zhǎng)期用來(lái)自動(dòng)地與計(jì)算機(jī)軟件應(yīng)用交互,諸如發(fā)現(xiàn)用于映射目的的軟件的各種組件。例如,公知為“爬蟲(crawler)”的一種這樣的工具經(jīng)常被用來(lái)通過(guò)沿著嵌入在文檔中的指示其他文檔的位置的超鏈接(諸如統(tǒng)一資源定位符(URL))來(lái)橫跨網(wǎng)頁(yè)和其他基于計(jì)算機(jī)的文檔,以導(dǎo)航網(wǎng)站。
[0003]當(dāng)前的爬蟲典型地通過(guò)發(fā)送超文本傳輸協(xié)議(HTTP)請(qǐng)求并使用產(chǎn)生的HTTP響應(yīng)來(lái)生成更多請(qǐng)求而在HTTP的級(jí)別上操作。這些爬蟲可以在不分析請(qǐng)求所代表的動(dòng)作的含義、這些動(dòng)作之間的次序約束以及進(jìn)行每一動(dòng)作的期望結(jié)果的情況下操作。

【發(fā)明內(nèi)容】

[0004]在本公開的一個(gè)方面,提供用于網(wǎng)絡(luò)爬行基于網(wǎng)絡(luò)的內(nèi)容的方法、系統(tǒng)、計(jì)算機(jī)程序產(chǎn)品和/或設(shè)備。在實(shí)施例中,可以在爬行蟲(crawling bot)和網(wǎng)站之間建立交互會(huì)話。爬行蟲可以定義表示用于與一個(gè)或多個(gè)網(wǎng)站交互的用戶狀態(tài)的會(huì)話狀態(tài)、條件集合以及要基于該條件集合是否被滿足而選擇性激活的情形集合。該條件集合可以包括用于用戶狀態(tài)是否等于預(yù)配置值的狀態(tài)條件。該狀態(tài)集合還包括內(nèi)容匹配條件。爬行蟲可以在交互會(huì)話期間從網(wǎng)站接收內(nèi)容。爬行蟲可以解析來(lái)自網(wǎng)站的內(nèi)容并且可以將所解析的內(nèi)容與之前定義的項(xiàng)目集合匹配,以確定是否滿足內(nèi)容匹配條件。如果內(nèi)容匹配條件被滿足并且如果狀態(tài)條件被滿足,則爬行蟲可以激活由該爬行蟲定義的情形,其在內(nèi)容匹配條件和狀態(tài)條件不滿足的情況下不被激活。
[0005]在本公開的一個(gè)方面中,對(duì)基于情形的爬行提供方法、系統(tǒng)、計(jì)算機(jī)程序產(chǎn)品和/或設(shè)備。該方法可以選擇預(yù)定情形,其中與所述情形關(guān)聯(lián)的交互前特性的預(yù)定集合中的每一個(gè)特性呈現(xiàn)在爬行會(huì)話期間的一點(diǎn)處。該方法可以針對(duì)爬行會(huì)話的當(dāng)前對(duì)象進(jìn)行與情形關(guān)聯(lián)的交互的預(yù)定集合中的每一個(gè)交互。該方法還可以識(shí)別與所述情形關(guān)聯(lián)的交互后特性的預(yù)定集合中的特性的哪個(gè)呈現(xiàn)在進(jìn)行所述交互之后的所述爬行會(huì)話期間。爬行會(huì)話的當(dāng)前狀態(tài)可以確定為預(yù)定狀態(tài),所述預(yù)定狀態(tài)與在進(jìn)行所述交互之后的所述爬行會(huì)話期間呈現(xiàn)的交互后特性的任一個(gè)關(guān)聯(lián)。
[0006]在本公開的其他方面中,詳細(xì)描述了執(zhí)行以上方法和/或結(jié)合該方法使用的系統(tǒng)、設(shè)備和/或計(jì)算機(jī)程序產(chǎn)品。
[0007]附圖標(biāo)記
[0008]圖1是依據(jù)本公開實(shí)施例構(gòu)造并操作的、基于情形的爬行的系統(tǒng)的簡(jiǎn)化概念圖示;
[0009]圖2是依據(jù)本公開實(shí)施例操作的、圖1的系統(tǒng)的操作的方法的簡(jiǎn)化流程圖圖示;[0010]圖3是依據(jù)本公開實(shí)施例操作的、圖1的系統(tǒng)的操作的方法的簡(jiǎn)化流程圖圖示;而
[0011]圖4是依據(jù)本公開實(shí)施例構(gòu)造并操作的、計(jì)算系統(tǒng)的硬件實(shí)現(xiàn)的簡(jiǎn)化框圖圖示。
【具體實(shí)施方式】
[0012]現(xiàn)在在一個(gè)或多個(gè)實(shí)施例的背景下描述本公開,但描述意圖在整體上說(shuō)明本發(fā)明的實(shí)施例,而不意圖理解為將本發(fā)明的其他實(shí)施例限制到所示出的實(shí)施例。應(yīng)理解對(duì)于所屬領(lǐng)域技術(shù)人員可以出現(xiàn)在此未具體示出的各種變型,其仍然在本發(fā)明的精神和范圍之內(nèi)。
[0013]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0014]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文檔中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0015]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0016]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言一諸如“C”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0017]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0018]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。
[0019]計(jì)算機(jī)程序指令還可以載入到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他裝置中以使得一些列操作步驟在計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他裝置上進(jìn)行來(lái)產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的進(jìn)程,從而在計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備熵執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖和/或框圖塊或模塊中規(guī)定的功能/動(dòng)作的進(jìn)程。
[0020]現(xiàn)在參考圖1,其是依據(jù)本發(fā)明實(shí)施例構(gòu)造并操作的、用于基于情形的爬行的系統(tǒng)的簡(jiǎn)化概念圖示。在圖1的系統(tǒng)中,爬蟲100配置為依據(jù)傳統(tǒng)技術(shù)爬行基于計(jì)算機(jī)的文檔或軟件應(yīng)用,并且附加地配置為如下所述地操作。定義了一個(gè)或多個(gè)情形102的集合以使得每一個(gè)情形包括以下:
[0021]?交互前特性的預(yù)定集合
[0022]?交互的預(yù)定集合;
[0023]?交互后特性的預(yù)定集合;和/或 [0024]?狀態(tài)的預(yù)定集合,其中每一個(gè)狀態(tài)與一個(gè)或多個(gè)交互后特性關(guān)聯(lián)。
[0025]爬蟲100優(yōu)選地包括配置為選擇一個(gè)或多個(gè)情形102的情形選擇器104,或者配置為與情形選擇器104合作,其中如果與一情形關(guān)聯(lián)的交互前特性的預(yù)定集合中的每一個(gè)特性呈現(xiàn)于爬行會(huì)話期間的一點(diǎn)處則選擇該情形,諸如在網(wǎng)絡(luò)應(yīng)用的爬行會(huì)話期間從網(wǎng)絡(luò)應(yīng)用接收網(wǎng)頁(yè)之后。因此,例如,如果情形的預(yù)定交互特性的集合包括特性〈已登錄=‘是’ > ?Loggedln = ‘Yes’ ? 和〈當(dāng)前網(wǎng)頁(yè)包括‘退出’按鈕 > (〈CurrentWebPageincludes ‘Logout’ button〉),則情形選擇器104優(yōu)選地校驗(yàn)在爬行會(huì)話期間爬行會(huì)話的所維持的狀態(tài)信息106的數(shù)據(jù)存儲(chǔ),以確定與會(huì)話關(guān)聯(lián)的用戶(諸如由爬蟲100表示的)當(dāng)前是否登錄到網(wǎng)絡(luò)應(yīng)用中,并且校驗(yàn)由網(wǎng)絡(luò)應(yīng)用提供的當(dāng)前網(wǎng)頁(yè)是否包括標(biāo)記為“Logout (退出)”的按鈕。如果每一個(gè)特性都呈現(xiàn),則情形選擇器104選擇該情形。
[0026]爬蟲100還優(yōu)選地包括交互代理(agent) 108或者配置為與交互代理108合作,交互代理108配置為利用爬行會(huì)話的當(dāng)前對(duì)象(諸如利用所接收的網(wǎng)頁(yè))執(zhí)行情形的交互的預(yù)定集合中的每個(gè)交互。因此,以當(dāng)前示例繼續(xù),交互的集合可以包括交互〈按下“退出”按鈕(Pressthe “Logout” button) >,交互代理108接著利用所接收的網(wǎng)頁(yè)執(zhí)行該交互。
[0027]爬蟲100還優(yōu)選地包括交互后評(píng)估器110或者配置為與交互后評(píng)估器110合作,交互后評(píng)估器Iio配置為識(shí)別哪個(gè)情形的交互后特性呈現(xiàn)于交互代理108進(jìn)行情形的交互的預(yù)定集合中的交互之后的爬行會(huì)話期間。因此,以當(dāng)前示例繼續(xù),如果交互后特性的集合包括特性〈當(dāng)前網(wǎng)頁(yè)包括“謝謝”〉,則交互后評(píng)估器110優(yōu)選地評(píng)估網(wǎng)絡(luò)應(yīng)用響應(yīng)于按下“退出”按鈕而返回的網(wǎng)頁(yè)以確定該返回的網(wǎng)頁(yè)是否包括短語(yǔ)“謝謝”。交互后評(píng)估器110可以識(shí)別哪個(gè)交互后特性呈現(xiàn)于由交互引出的任何響應(yīng)中和/或狀態(tài)信息106中。[0028]爬蟲100還優(yōu)選地包括配置為確定爬行會(huì)話的當(dāng)前狀態(tài)的狀態(tài)管理器112,或者配置為與狀態(tài)管理器112合作,其中當(dāng)前狀態(tài)與情形的被交互后評(píng)估器110確定為呈現(xiàn)于爬行會(huì)話期間的交互后特性的任一個(gè)關(guān)聯(lián)。因此,以當(dāng)前示例繼續(xù),如果交互后評(píng)估器110確定特性〈當(dāng)前網(wǎng)頁(yè)包括“謝謝”〉呈現(xiàn)于網(wǎng)絡(luò)應(yīng)用響應(yīng)于按下“退出”按鈕而返回的網(wǎng)頁(yè)中,并且〈已登錄=‘否’ > 的狀態(tài)與情形的交互后特性〈當(dāng)前網(wǎng)頁(yè)包括“謝謝”〉關(guān)聯(lián),則狀態(tài)管理器112可以確定與爬行會(huì)話關(guān)聯(lián)的用戶的狀態(tài)是〈已登錄=‘否’ >,并且可以將該信息記錄在狀態(tài)信息106中。
[0029]根據(jù)當(dāng)前的示例將理解,圖1的系統(tǒng)可以用來(lái)通過(guò)確保僅在爬蟲當(dāng)前登錄到了網(wǎng)絡(luò)應(yīng)用的情況下爬蟲才按下網(wǎng)頁(yè)上的“退出”按鈕而使得爬蟲能夠與網(wǎng)絡(luò)應(yīng)用智能地交互,而非隨機(jī)地或基于啟發(fā)式地爬行網(wǎng)絡(luò)應(yīng)用。
[0030]圖1的系統(tǒng)可以用來(lái)在預(yù)定情形適用的情況下使用如上所述的基于情形的交互,否則使用傳統(tǒng)技術(shù),來(lái)爬行基于計(jì)算機(jī)的文檔或軟件應(yīng)用。
[0031]圖1中所示的任何元件優(yōu)選由諸如計(jì)算機(jī)114的一個(gè)或多個(gè)計(jì)算機(jī)實(shí)現(xiàn),通過(guò)依據(jù)傳統(tǒng)技術(shù)在計(jì)算機(jī)硬件和/或嵌入在非易失性、計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)軟件實(shí)現(xiàn)元件。
[0032]現(xiàn)在參考圖2,其是依據(jù)本公開實(shí)施例操作的、圖1的系統(tǒng)的操作的示例性方法的簡(jiǎn)化流程圖圖示。在圖2的方法中,關(guān)于基于計(jì)算機(jī)的文檔和/或軟件應(yīng)用的集合開始爬行會(huì)話(步驟200)。在爬行會(huì)話期間的任何點(diǎn)處,如果與預(yù)定情形關(guān)聯(lián)的每一個(gè)交互前特性呈現(xiàn)(步驟202),則選擇情形(步驟204)。進(jìn)行與該情形關(guān)聯(lián)的交互的預(yù)定集合中的每一個(gè)交互(步驟206)。識(shí)別與該情形關(guān)聯(lián)并且在進(jìn)行交互之后的爬行會(huì)話期間呈現(xiàn)的任何交互后特性(步驟208)。根據(jù)與在進(jìn)行交互之后的爬行會(huì)話期間呈現(xiàn)的該情形的交互后特性的任一個(gè)關(guān)聯(lián)的狀態(tài)的預(yù)定集合確定爬行會(huì)話的當(dāng)前狀態(tài)(步驟210)。
[0033]現(xiàn)在參考圖3,其是依據(jù)本公開實(shí)施例操作的、圖1的系統(tǒng)的操作的示例性方法的簡(jiǎn)化流程圖圖示。在圖3的方法中,關(guān)于基于計(jì)算機(jī)文檔和/或軟件應(yīng)用的集合開始爬行會(huì)話(步驟300)。在爬行會(huì)話期間的任何點(diǎn)處,如果可以諸如依據(jù)圖2的方法選擇情形(步驟302),則諸如依據(jù)圖2的方法處理該情形(步驟304),并且如果無(wú)法選擇情形(諸如,未呈現(xiàn)與預(yù)定情形關(guān)聯(lián)的交互前特性的每一個(gè)),則可以依據(jù)傳統(tǒng)技術(shù)進(jìn)行爬行(步驟306)。如果終結(jié)條件滿足,則可以終結(jié)爬行會(huì)話(步驟308)。
[0034]現(xiàn)在參考圖4,框圖400圖示了依據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)的示例性硬件實(shí)現(xiàn),依據(jù)該計(jì)算系統(tǒng),可以實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)組件/方法(例如,在圖1-3的背景下描述的組件/方法)。
[0035]如所示,可以依據(jù)經(jīng)由計(jì)算機(jī)總線418或替代連接布置耦接的處理器410、存儲(chǔ)器412、I/O裝置414和網(wǎng)絡(luò)接口 416實(shí)現(xiàn)用于控制到至少一個(gè)資源的訪問的技術(shù)。
[0036]在一個(gè)實(shí)施例中,爬行會(huì)話在爬行蟲和網(wǎng)站(或其他可尋址的基于網(wǎng)絡(luò)的資源)之間。如在這里所用的,爬行指的是由網(wǎng)絡(luò)爬蟲或爬行蟲進(jìn)行的網(wǎng)絡(luò)爬行。爬行蟲是自主的或半自主的軟件應(yīng)用,其能夠以有條理的自動(dòng)方式或以有序的方式與一個(gè)或多個(gè)網(wǎng)站交互。爬行蟲的其他常用術(shù)語(yǔ)包括螞蟻、自動(dòng)索引工具、蟲(bot)、網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人和/或網(wǎng)絡(luò)奔跑器(Web scutter)。網(wǎng)絡(luò)爬行是用于提供關(guān)于網(wǎng)絡(luò)的最新數(shù)據(jù)的裝置,其可以由諸如搜索引擎之類的其他程序使用。[0037]在一個(gè)實(shí)施例中,所公開的爬行蟲可以用來(lái)通過(guò)搜索引擎創(chuàng)造用于稍后處理的全部已訪問頁(yè)面的拷貝,該搜索引擎將索引已下載的頁(yè)面來(lái)提供快速搜索。爬行蟲還可以用于網(wǎng)站上的自動(dòng)維護(hù)任務(wù),諸如校驗(yàn)鏈接或驗(yàn)證HTML碼。同樣,爬行蟲可以用來(lái)從網(wǎng)頁(yè)搜集特定類型的信息,諸如搜集電郵地址。
[0038]在一個(gè)實(shí)施例中,不像傳統(tǒng)網(wǎng)絡(luò)爬蟲那樣,所公開的爬行蟲可以與提供動(dòng)態(tài)內(nèi)容的網(wǎng)站交互。即,爬行蟲可以確定與動(dòng)態(tài)內(nèi)容有關(guān)的網(wǎng)站狀態(tài),并且可以初始化對(duì)于該狀態(tài)特定的動(dòng)作(例如,激活情形)。例如,爬行蟲可以提供之前定義的輸入到網(wǎng)站以實(shí)現(xiàn)網(wǎng)站動(dòng)態(tài)內(nèi)容的改變。例如,網(wǎng)絡(luò)爬蟲可以檢測(cè)指示用戶未登錄的當(dāng)前網(wǎng)站狀態(tài),然后提供輸入以改變網(wǎng)站的狀態(tài)到登錄狀態(tài)。網(wǎng)絡(luò)蟲可以實(shí)現(xiàn)對(duì)網(wǎng)站狀態(tài)特定的動(dòng)作,然后解析所接收的網(wǎng)站內(nèi)容,并且比較該內(nèi)容與期望的輸出一取決于所返回的輸出是否滿意而采取各種動(dòng)作。換言之,爬行蟲可以引入邏輯行為來(lái)仿真針對(duì)不同窗口狀態(tài)的用戶交互。
[0039]這使得所公開的爬行蟲與傳統(tǒng)網(wǎng)絡(luò)爬蟲相比對(duì)于可編程的目的顯然更有效,因?yàn)榭梢葬槍?duì)可實(shí)現(xiàn)的特定功能編程爬行蟲,而不窮盡給定網(wǎng)站的可能性的集合。此外,所公開的爬行蟲可以聚集使用傳統(tǒng)網(wǎng)絡(luò)爬蟲不可能的信息,因?yàn)榕佬邢x可以提供輸入來(lái)觸發(fā)網(wǎng)站、網(wǎng)絡(luò)應(yīng)用或網(wǎng)絡(luò)服務(wù)的動(dòng)態(tài)內(nèi)容的改變。
[0040]要理解,這里使用的術(shù)語(yǔ)“處理器”意圖包括任何處理裝置,諸如例如包括CPU(中央處理器)和/或其他處理電路的處理裝置。還要明白,術(shù)語(yǔ)“處理器”可以指代多于一個(gè)處理裝置,并且要明白,與一處理裝置關(guān)聯(lián)的各種元件可以與其他處理裝置共享。
[0041]這里使用的術(shù)語(yǔ)“存儲(chǔ)器”意圖包括與處理器或CPU關(guān)聯(lián)的存儲(chǔ)器,諸如例如RAM、ROM、固定存儲(chǔ)器裝置(例如,硬盤)、可移除存儲(chǔ)器裝置(例如,軟盤)、閃存等。這樣的存儲(chǔ)器可以認(rèn)為是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
[0042]另外,這里使用的詞組“輸入/輸出裝置”或“I/O裝置”意圖包括例如用于鍵入數(shù)據(jù)到處理單元的一個(gè)或多個(gè)輸入裝置(例如,鍵盤、鼠標(biāo)、掃描儀等),和/或用于呈現(xiàn)與處理單元關(guān)聯(lián)的結(jié)果的一個(gè)或多個(gè)輸出裝置(例如,揚(yáng)聲器、顯示器、打印機(jī)等)。
[0043]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0044]要理解,以上描述的要素的任一個(gè)可以實(shí)現(xiàn)為在計(jì)算機(jī)可讀介質(zhì)中嵌入的、諸如以在磁或光存儲(chǔ)介質(zhì)上存儲(chǔ)的計(jì)算機(jī)程序指令的形式的計(jì)算機(jī)程序產(chǎn)品,或嵌入在計(jì)算機(jī)硬件中,并且可以由計(jì)算機(jī)執(zhí)行或以其他方式對(duì)于計(jì)算機(jī)可訪問。
[0045]盡管這里的方法和設(shè)備可能已經(jīng)或可能尚未參考具體計(jì)算機(jī)硬件或軟件而描述,但是理解的是這里描述的方法和設(shè)備可以使用傳統(tǒng)技術(shù)而在計(jì)算機(jī)硬件或軟件中輕易地實(shí)現(xiàn)。[0046]盡管已經(jīng)參考一個(gè)或多個(gè)具體實(shí)施例描述了本發(fā)明,但是描述意圖作為一個(gè)整體說(shuō)明本發(fā)明而不理解為限制本發(fā)明到所示實(shí)施例。理解的是,對(duì)于所屬領(lǐng)域技術(shù)人員可以出現(xiàn)在此未具體示出的各種變型,其仍然在本發(fā)明的精神和范圍之內(nèi)。
【權(quán)利要求】
1.一種方法,包括: 經(jīng)由執(zhí)行存儲(chǔ)在至少一個(gè)存儲(chǔ)裝置上的程序指令的至少一個(gè)處理器在爬行蟲和網(wǎng)站之間建立交互會(huì)話,其中,所述爬行蟲定義表示用于與一個(gè)或多個(gè)網(wǎng)站交互的用戶狀態(tài)的會(huì)話狀態(tài)、條件集合以及要基于所述條件集合是否被滿足而選擇性地激活的情形集合,其中所述條件集合包括用于所述用戶狀態(tài)是否等于預(yù)配置值的狀態(tài)條件,并且其中所述狀態(tài)集合包括內(nèi)容匹配條件; 所述爬行蟲經(jīng)由執(zhí)行在至少一個(gè)存儲(chǔ)裝置上存儲(chǔ)的所述爬行蟲的程序指令的至少一個(gè)處理器而在所述交互會(huì)話期間從所述網(wǎng)站接收內(nèi)容; 所述爬行蟲經(jīng)由執(zhí)行在至少一個(gè)存儲(chǔ)裝置上存儲(chǔ)的所述爬行蟲的程序指令的至少一個(gè)處理器而解析來(lái)自所述網(wǎng)站的內(nèi)容,并且將所解析的內(nèi)容與之前定義的項(xiàng)目集合進(jìn)行匹配,以確定所述內(nèi)容匹配條件是否被滿足;并且 如果所述內(nèi)容匹配條件被滿足且如果所述狀態(tài)條件被滿足,則所述爬行蟲經(jīng)由執(zhí)行在至少一個(gè)存儲(chǔ)裝置上存儲(chǔ)的所述爬行蟲的程序指令的至少一個(gè)處理器而激活由所述爬行蟲定義的情形中的一個(gè)情形,所述一個(gè)情形在所述內(nèi)容匹配條件和狀態(tài)條件未被滿足時(shí)不被所述爬行蟲激活。
2.如權(quán)利要求1所述的方法,其中,所述會(huì)話狀態(tài)包括至少兩個(gè)不同狀態(tài),一個(gè)狀態(tài)指示實(shí)體登錄到了所述網(wǎng)站,而另一狀態(tài)指示所述實(shí)體未登錄到所述網(wǎng)站。
3.如權(quán)利要求1所述的方法,其中,所述網(wǎng)站提供動(dòng)態(tài)內(nèi)容,其中所述條件集合指示與所述動(dòng)態(tài)內(nèi)容相關(guān)的網(wǎng)站 狀態(tài),并且其中所激活的一個(gè)情形提供對(duì)于所述網(wǎng)站狀態(tài)特定的、從所述爬行蟲到所述網(wǎng)站的之前定義的輸入,來(lái)實(shí)現(xiàn)所述網(wǎng)站的動(dòng)態(tài)內(nèi)容的改變。
4.如權(quán)利要求1所述的方法,其中,所述情形集合的每一個(gè)情形包括交互前特性的預(yù)定集合、交互的預(yù)定集合、交互后特性的預(yù)定集合以及狀態(tài)的預(yù)定集合,其中所述狀態(tài)的預(yù)定集合的每一個(gè)狀態(tài)與所述交互后特性的一個(gè)或多個(gè)關(guān)聯(lián)。
5.如權(quán)利要求1所述的方法,還包括: 在激活所述一個(gè)情形的情況下,在所述交互會(huì)話期間內(nèi)針對(duì)所述網(wǎng)站的當(dāng)前對(duì)象進(jìn)行與所述情形關(guān)聯(lián)的交互的預(yù)定集合中的多個(gè)交互中的每一個(gè); 識(shí)別與所述情形關(guān)聯(lián)的交互后特性的預(yù)定集合中的特性的集合中的哪個(gè)特性呈現(xiàn)在進(jìn)行所述交互之后的所述爬行會(huì)話期間;并且 確定所述交互會(huì)話的當(dāng)前狀態(tài)為預(yù)定狀態(tài),所述預(yù)定狀態(tài)與呈現(xiàn)在進(jìn)行所述交互之后的所述交互會(huì)話期間的交互后特性的任一個(gè)關(guān)聯(lián)。
6.如權(quán)利要求1所述的方法,其中所述網(wǎng)站表示網(wǎng)絡(luò)應(yīng)用,其在所述交互會(huì)話期間被所述爬行蟲爬行。
7.一種計(jì)算機(jī)程序產(chǎn)品,包括: 一個(gè)或多個(gè)計(jì)算機(jī)可讀的有形存儲(chǔ)裝置; 存儲(chǔ)在所述一個(gè)或多個(gè)存儲(chǔ)裝置的至少一個(gè)上的程序指令,以在爬行蟲和網(wǎng)站之間建立交互會(huì)話,其中,所述爬行蟲定義表示用于與一個(gè)或多個(gè)網(wǎng)站交互的用戶狀態(tài)的會(huì)話狀態(tài)、條件集合以及要基于所述條件集合是否被滿足而選擇性地激活的情形集合,其中所述條件集合包括用于所述用戶狀態(tài)是否等于預(yù)配置值的狀態(tài)條件,并且其中所述狀態(tài)集合包括內(nèi)容匹配條件;存儲(chǔ)在所述一個(gè)或多個(gè)存儲(chǔ)裝置的至少一個(gè)上的程序指令,使所述爬行蟲在所述交互會(huì)話期間從所述網(wǎng)站接收內(nèi)容; 存儲(chǔ)在所述一個(gè)或多個(gè)存儲(chǔ)裝置的至少一個(gè)上的程序指令,使所述爬行蟲解析來(lái)自所述網(wǎng)站的內(nèi)容,并且將所解析的內(nèi)容與之前定義的項(xiàng)目集合進(jìn)行匹配,以確定所述內(nèi)容匹配條件是否被滿足;并且 存儲(chǔ)在所述一個(gè)或多個(gè)存儲(chǔ)裝置的至少一個(gè)上的程序指令,如果所述內(nèi)容匹配條件被滿足且如果所述狀態(tài)條件被滿足,則使所述爬行蟲激活由所述爬行蟲定義的情形中的一個(gè)情形,所述一個(gè)情形在所述內(nèi)容匹配條件和狀態(tài)條件未被滿足時(shí)不被所述爬行蟲激活。
8.一種方法,包括: 選擇預(yù)定情形,其中與所述情形關(guān)聯(lián)的交互前特性的預(yù)定集合中的每一個(gè)特性呈現(xiàn)在爬行會(huì)話期間的一點(diǎn)處; 針對(duì)所述爬行會(huì)話的當(dāng)前對(duì)象進(jìn)行與所述情形關(guān)聯(lián)的交互的預(yù)定集合中的每一個(gè)交互; 識(shí)別與所述情形關(guān)聯(lián)的交互后特性的預(yù)定集合中的特性的哪個(gè)呈現(xiàn)在進(jìn)行所述交互之后的所述爬行會(huì)話期間;并且 確定所述爬行會(huì)話的當(dāng)前狀態(tài)為預(yù)定狀態(tài),所述預(yù)定狀態(tài)與在進(jìn)行所述交互之后的所述爬行會(huì)話期間呈現(xiàn)的交互后特性的任一個(gè)關(guān)聯(lián)。
9.如權(quán)利要求8所述的方法,其中所述爬行會(huì)話是在稱為爬行蟲的自主軟件應(yīng)用之間的交互會(huì)話,所述爬行蟲導(dǎo)航到網(wǎng)站并橫跨其內(nèi)容,提供關(guān)于所述網(wǎng)站的索引化信息。
10.如權(quán)利要求8所述的方法,其中所述預(yù)定情形包括交互前特性的預(yù)定集合、交互的預(yù)定集合、交互后特性的預(yù)定集合以及狀態(tài)的預(yù)定集合,其中所述狀態(tài)的預(yù)定集合的每一個(gè)狀態(tài)與所述交互后特性的一個(gè)或多個(gè)關(guān)聯(lián),其中,由爬行蟲選擇性地激活所述預(yù)定情形,并且由所述爬行蟲定義所述預(yù)定情形用于與網(wǎng)絡(luò)上的內(nèi)容的交互,所述爬行蟲被設(shè)計(jì)來(lái)爬行所述網(wǎng)絡(luò)。
11.如權(quán)利要求8所述的方法,其中所述預(yù)定狀態(tài)包括至少兩個(gè)不同狀態(tài)、一個(gè)狀態(tài)指示實(shí)體登錄到了所述網(wǎng)站,而另一狀態(tài)指示所述實(shí)體未登錄到所述網(wǎng)站。
12.如權(quán)利要求8所述的方法,其中所述爬行會(huì)話在自主軟件實(shí)體和網(wǎng)站之間,其中所述網(wǎng)站提供動(dòng)態(tài)內(nèi)容,其中,由所述軟件實(shí)體處理的條件集合指示與所述動(dòng)態(tài)內(nèi)容有關(guān)的網(wǎng)站狀態(tài),并且其中所述預(yù)定情形提供對(duì)于所述網(wǎng)站狀態(tài)特定的、從所述軟件實(shí)體到所述網(wǎng)站的之前定義的輸入,以實(shí)現(xiàn)所述網(wǎng)站的動(dòng)態(tài)內(nèi)容的改變。
13.如權(quán)利要求8所述的方法,其中,該選擇包括在交互前特性的預(yù)定集合中的特性的任一個(gè)呈現(xiàn)在所述爬行會(huì)話的當(dāng)前對(duì)象中的情況下選擇。
14.如權(quán)利要求8所述的方法,其中,該選擇包括在交互前特性的預(yù)定集合中的特性的任一個(gè)呈現(xiàn)在所述爬行會(huì)話的維持的狀態(tài)信息中的情況下選擇。
15.如權(quán)利要求8所述的方法,其中,在爬行網(wǎng)絡(luò)應(yīng)用時(shí)執(zhí)行所述選擇、進(jìn)行、識(shí)別和確定。
16.如權(quán)利要求15所述的方法,其中,所述選擇在從網(wǎng)絡(luò)應(yīng)用接收到網(wǎng)頁(yè)之后進(jìn)行。
17.如權(quán)利要求16所述的方法,其中,所述進(jìn)行包括進(jìn)行與所述網(wǎng)頁(yè)的交互的每一個(gè)。
18.如權(quán)利要求8所述的方法,其中,所述識(shí)別包括識(shí)別在由所述交互引出的任何響應(yīng)內(nèi)的交互后特性的任一個(gè)。
19.一種用于基于情形的爬行的系統(tǒng),所述系統(tǒng)包括: 情形選擇器,配置為選擇預(yù)定情形,其中與所述情形關(guān)聯(lián)的交互前特性的預(yù)定集合中的每一個(gè)特性呈現(xiàn)在爬行會(huì)話期間的一點(diǎn)處; 交互代理,配置為針對(duì)所述爬行會(huì)話的當(dāng)前對(duì)象進(jìn)行與所述情形關(guān)聯(lián)的交互的預(yù)定集合中的每一個(gè)交互; 交互后評(píng)估器,配置為識(shí)別與所述情形關(guān)聯(lián)的交互后特性的預(yù)定集合中的特性的哪個(gè)呈現(xiàn)在進(jìn)行所述交互之后的所述爬行會(huì)話期間;以及 狀態(tài)管理器,配置為確定所述爬行會(huì)話的當(dāng)前狀態(tài)為預(yù)定狀態(tài),所述預(yù)定狀態(tài)與在進(jìn)行所述交互之后的所述爬行會(huì)話期間呈現(xiàn)的交互后特性的任一個(gè)關(guān)聯(lián)。
20.如權(quán)利要求19所述的系統(tǒng),其中,所述情形選擇器配置為在交互前特性的預(yù)定集合中的特性的任一個(gè)呈現(xiàn)在所述爬行會(huì)話的當(dāng)前對(duì)象中的情況下選擇。
21.如權(quán)利要求19所述的系統(tǒng),其中,所述情形選擇器配置為在交互前特性的預(yù)定集合中的特性的任一個(gè)呈現(xiàn)在所述爬行會(huì)話的維持的狀態(tài)信息中的情況下選擇。
22.如權(quán)利要求19所述的系統(tǒng),其中,所述爬行會(huì)話包括爬行網(wǎng)絡(luò)應(yīng)用。
23.如權(quán)利要求22所述的系統(tǒng),其中所述情形選擇器配置為在從網(wǎng)絡(luò)應(yīng)用接收到網(wǎng)頁(yè)之后選擇。
24.如權(quán)利要求19所述的系統(tǒng),其中,所述交互后評(píng)估器配置為識(shí)別在由所述交互引出的任何響應(yīng)內(nèi)的交互后特性的任一個(gè)。
25.一種計(jì)算機(jī)程序產(chǎn)品,用于基于情形的爬行,所述計(jì)算機(jī)程序產(chǎn)品包括: 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);以及 嵌入在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的計(jì)算機(jī)可讀程序代碼,其中所述計(jì)算機(jī)可讀程序代碼配置為: 選擇預(yù)定情形,其中與所述情形關(guān)聯(lián)的交互前特性的預(yù)定集合中的每一個(gè)特性呈現(xiàn)在爬行會(huì)話期間的一點(diǎn)處; 針對(duì)所述爬行會(huì)話的當(dāng)前對(duì)象進(jìn)行與所述情形關(guān)聯(lián)的交互的預(yù)定集合中的每一個(gè)交互; 識(shí)別與所述情形關(guān)聯(lián)的交互后特性的預(yù)定集合中的特性的哪個(gè)呈現(xiàn)在進(jìn)行所述交互之后的所述爬行會(huì)話期間;并且 確定所述爬行會(huì)話的當(dāng)前狀態(tài)為預(yù)定狀態(tài),所述預(yù)定狀態(tài)與在進(jìn)行所述交互之后的所述爬行會(huì)話期間呈現(xiàn)的交互后特性的任一個(gè)關(guān)聯(lián)。
【文檔編號(hào)】G06F17/30GK104025089SQ201280064952
【公開日】2014年9月3日 申請(qǐng)日期:2012年11月21日 優(yōu)先權(quán)日:2011年12月28日
【發(fā)明者】I.克賴克曼, O.特里普, A.薩金 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
正安县| 嘉祥县| 文化| 阿尔山市| 东乌珠穆沁旗| 伊金霍洛旗| 基隆市| 开平市| 陵水| 锦州市| 东莞市| 沙河市| 长沙市| 齐河县| 都昌县| 龙口市| 顺平县| 长汀县| 峨山| 灵台县| 荆州市| 西乌珠穆沁旗| 永嘉县| 石楼县| 招远市| 景宁| 中牟县| 始兴县| 江达县| 林周县| 丹寨县| 宁明县| 如皋市| 迭部县| 闵行区| 六枝特区| 金秀| 广河县| 长沙市| 道真| 霍林郭勒市|