[發(fā)明專利]快速驗(yàn)證CSS選擇器的方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710734682.2 | 申請(qǐng)日: | 2017-08-24 |
| 公開(公告)號(hào): | CN107463713A | 公開(公告)日: | 2017-12-12 |
| 發(fā)明(設(shè)計(jì))人: | 張超 | 申請(qǐng)(專利權(quán))人: | 四川長(zhǎng)虹電器股份有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 成都虹橋?qū)@聞?wù)所(普通合伙)51124 | 代理人: | 李凌峰 |
| 地址: | 621000 四*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 快速 驗(yàn)證 css 選擇器 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及利用Java下載網(wǎng)頁源碼技術(shù),特別涉及CSS選擇器技術(shù)。
背景技術(shù)
網(wǎng)絡(luò)爬蟲是按照一定規(guī)則自動(dòng)抓取WEB信息的程序或腳本,也被稱為網(wǎng)絡(luò)追逐者。在網(wǎng)絡(luò)迅速發(fā)展的今天,萬維網(wǎng)成為最大的信息載體,傳統(tǒng)的搜索引擎作為輔助人們檢索信息的工具也存在著一定的局限性:1.不同的用戶往往有不同的檢索目的,而搜索引擎會(huì)返回大量的無用信息,導(dǎo)致資源的浪費(fèi);2.搜索引擎的目標(biāo)是盡可能大的網(wǎng)絡(luò)資源覆蓋,而隨著網(wǎng)絡(luò)資源的日益豐富,搜索引擎有限的資源越來越不能滿足需要;3.搜索引擎對(duì)種類越來越多的網(wǎng)絡(luò)資源越來越無能為力,具有一定結(jié)構(gòu)的圖片、數(shù)據(jù)庫、音頻、視頻等密集資源是搜索引擎所不能解決的;4.搜索引擎都是通過關(guān)鍵字進(jìn)行索引,很難通過語義進(jìn)行分析檢索。為了解決上述問題定向抓取網(wǎng)絡(luò)資源的聚焦網(wǎng)絡(luò)爬蟲應(yīng)運(yùn)而生,聚焦網(wǎng)絡(luò)爬蟲根據(jù)目標(biāo)信息,定向訪問網(wǎng)絡(luò)資源,從而快速獲得想要的信息。
目前,如何高效快速的編寫網(wǎng)絡(luò)爬蟲成為熱點(diǎn),在編寫聚焦網(wǎng)絡(luò)爬蟲時(shí),快速準(zhǔn)確的獲得CSS(層疊樣式表)選擇器成為信息抓取的關(guān)鍵。CSS,即層疊樣式表,通常定義如何顯示HTML元素,通過CSS文檔可以改變頁面中的布局和外觀,而CSS選擇器則可以選擇出你所需要的樣式的HTML元素,因此,快速準(zhǔn)確的獲取CSS選擇器成為信息抓取的關(guān)鍵。目標(biāo)網(wǎng)站中通常通過動(dòng)態(tài)加載HTML信息進(jìn)行反爬取,因此很難快速獲取到有效的CSS選擇器,本專利提出了一個(gè)快速驗(yàn)證CSS選擇器的方法,通過界面化工具快速驗(yàn)證CSS選擇器是否能夠抓取HTML信息,當(dāng)出現(xiàn)CSS選擇器無效時(shí),使用調(diào)用瀏覽器內(nèi)核的方式下載網(wǎng)頁源碼,根據(jù)下載的網(wǎng)絡(luò)源碼,重新編寫CSS選擇器表達(dá)式,解決網(wǎng)頁動(dòng)態(tài)加載造成的信息爬取失敗問題。
Httpclient可以更好地處理向Web站點(diǎn)請(qǐng)求,它是一個(gè)簡(jiǎn)單的HTTP客戶端,可以用于發(fā)送HTTP請(qǐng)求,接收HTTP響應(yīng),但不會(huì)緩存服務(wù)器的響應(yīng),不能執(zhí)行HTML頁面中嵌入的JavaScript代碼,也不會(huì)對(duì)頁面內(nèi)容進(jìn)行任何解析及處理。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種快速驗(yàn)證CSS選擇器的方法,解決在編寫聚焦網(wǎng)絡(luò)爬蟲時(shí),目標(biāo)網(wǎng)站中通常通過動(dòng)態(tài)加載信息進(jìn)行反爬,很難快速有效的獲取CSS選擇器的問題。
本發(fā)明解決其技術(shù)問題,采用的技術(shù)方案是:快速驗(yàn)證CSS選擇器的方法,其特征在于,包括以下步驟:
步驟1、從所需網(wǎng)頁獲取目標(biāo)網(wǎng)址和CSS選擇器并輸入目標(biāo)網(wǎng)址;
步驟2、通過HttpClient下載目標(biāo)網(wǎng)頁的網(wǎng)頁源碼并解析;
步驟3、輸入CSS選擇器并對(duì)解析出的信息進(jìn)行抓取;
步驟4、判斷抓取的信息是否滿足需要,若滿足,則結(jié)束,若不滿足,則進(jìn)入步驟5;
步驟5、判斷抓取的信息是否為動(dòng)態(tài)加載信息,若是,則進(jìn)入步驟6,若不是,則進(jìn)入步驟3;
步驟6、調(diào)用瀏覽器內(nèi)核重新下載目標(biāo)網(wǎng)頁的網(wǎng)頁源碼并解析;
步驟7、重新編寫CSS選擇器,并輸入;
步驟8、利用重新編寫的CSS選擇器對(duì)解析出的信息進(jìn)行抓取;
步驟9、判斷抓取的信息是否滿足需要,若滿足,則結(jié)束,若不滿足,則進(jìn)入步驟8。
具體的,步驟1中,所述從所需網(wǎng)頁獲取目標(biāo)網(wǎng)址使用的是GetText()函數(shù)。
進(jìn)一步的,步驟2中,所述通過HttpClient下載目標(biāo)網(wǎng)頁的網(wǎng)頁源碼具體包括以下步驟:
步驟201、設(shè)定HttpCliet網(wǎng)絡(luò)連接參數(shù);
步驟202、建立Http網(wǎng)絡(luò)連接;
步驟203、使用HttpClient的Get方法獲得目標(biāo)網(wǎng)頁的網(wǎng)頁源碼。
具體的,步驟201中,HttpCliet網(wǎng)絡(luò)連接參數(shù)的設(shè)定具體包括:
a、請(qǐng)求超時(shí)時(shí)間,默認(rèn)設(shè)置為2秒;
b、等待數(shù)據(jù)超時(shí)時(shí)間,默認(rèn)設(shè)置為2秒;
c、連接不夠用等待超時(shí)時(shí)間,默認(rèn)設(shè)置為500毫秒;
d、整個(gè)連接池最大連接數(shù),默認(rèn)設(shè)置為200。
再進(jìn)一步的,步驟2及步驟6中,對(duì)目標(biāo)網(wǎng)頁的網(wǎng)頁源碼的解析使用了Jsoup解析器。
具體的,步驟6中,使用Selenium Webdriver調(diào)用瀏覽器內(nèi)核。
再進(jìn)一步的,步驟6中,所述瀏覽器為型號(hào)為Chrome的瀏覽器。
本發(fā)明的有益效果是,通過上快速驗(yàn)證CSS選擇器的方法,當(dāng)判斷由于網(wǎng)頁動(dòng)態(tài)信息導(dǎo)致CSS選擇器不可用時(shí),調(diào)用瀏覽器內(nèi)核重新下載目標(biāo)網(wǎng)頁的網(wǎng)頁源碼并解析,然后重新編寫CSS選擇器,從而快速獲得有效的CSS選擇器。
具體實(shí)施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于四川長(zhǎng)虹電器股份有限公司,未經(jīng)四川長(zhǎng)虹電器股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710734682.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 驗(yàn)證系統(tǒng)、驗(yàn)證服務(wù)器、驗(yàn)證方法、驗(yàn)證程序、終端、驗(yàn)證請(qǐng)求方法、驗(yàn)證請(qǐng)求程序和存儲(chǔ)媒體
- 驗(yàn)證目標(biāo)系統(tǒng)的驗(yàn)證系統(tǒng)及其驗(yàn)證方法
- 驗(yàn)證設(shè)備、驗(yàn)證方法和驗(yàn)證程序
- 驗(yàn)證裝置、驗(yàn)證系統(tǒng)以及驗(yàn)證方法
- 驗(yàn)證方法、驗(yàn)證系統(tǒng)、驗(yàn)證設(shè)備及其程序
- 驗(yàn)證方法、用于驗(yàn)證的系統(tǒng)、驗(yàn)證碼系統(tǒng)以及驗(yàn)證裝置
- 圖片驗(yàn)證碼驗(yàn)證方法和圖片驗(yàn)證碼驗(yàn)證裝置
- 驗(yàn)證裝置、驗(yàn)證程序和驗(yàn)證方法
- 驗(yàn)證裝置、驗(yàn)證方法及驗(yàn)證程序
- 跨多個(gè)驗(yàn)證域的驗(yàn)證系統(tǒng)、驗(yàn)證方法、驗(yàn)證設(shè)備





