[發(fā)明專利]基于JMeter的網(wǎng)站數(shù)據(jù)自動爬取方法在審
| 申請?zhí)枺?/td> | 202011156240.2 | 申請日: | 2020-10-26 |
| 公開(公告)號: | CN112256944A | 公開(公告)日: | 2021-01-22 |
| 發(fā)明(設(shè)計)人: | 楊雪梅;唐軍;劉楚雄 | 申請(專利權(quán))人: | 四川長虹電器股份有限公司 |
| 主分類號: | G06F16/951 | 分類號: | G06F16/951 |
| 代理公司: | 成都虹橋?qū)@聞账?普通合伙) 51124 | 代理人: | 吳中偉 |
| 地址: | 621000 四*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 jmeter 網(wǎng)站 數(shù)據(jù) 自動 方法 | ||
本發(fā)明涉及web領(lǐng)域,具體涉及一種基于JMeter的網(wǎng)站數(shù)據(jù)自動爬取方法,避免了從前端界面爬取數(shù)據(jù)過程中涉及的大量的復雜JS操作,同時也避免了因為一些網(wǎng)站對一定時間內(nèi)HTTP請求次數(shù)及訪問頻率的限制而造成數(shù)據(jù)爬取過程漫長或者直接爬取失敗。技術(shù)方案概括為,確定需要進行數(shù)據(jù)爬取的目標網(wǎng)站,然后對目標網(wǎng)站進行數(shù)據(jù)分析,獲取數(shù)據(jù)接口以及數(shù)據(jù)接口相應的屬性信息,在JMeter端執(zhí)行數(shù)據(jù)接口,檢查數(shù)據(jù)接口中的請求參數(shù)以及對應的響應結(jié)果是否符合預期設(shè)定,符合預期就對數(shù)據(jù)接口進行參數(shù)動態(tài)配置,對數(shù)據(jù)接口的響應提取字段參數(shù)進行動態(tài)配置,并對輸出目標文件進行動態(tài)配置,設(shè)置好相應動態(tài)配置后,設(shè)置反爬機制開始爬取數(shù)據(jù)。本發(fā)明實用于網(wǎng)站數(shù)據(jù)自動爬取。
技術(shù)領(lǐng)域
本發(fā)明涉及web領(lǐng)域,具體涉及一種基于JMeter的網(wǎng)站數(shù)據(jù)自動爬取方法。
背景技術(shù)
網(wǎng)站數(shù)據(jù)爬蟲是一個對網(wǎng)站頁面數(shù)據(jù)進行自動化提取的程序,可以將網(wǎng)站頁面上展示的特定數(shù)據(jù)進行抓取并保存至本地文件或數(shù)據(jù)庫中,供其他項目或開發(fā)某些具體功能使用,具體如各影視網(wǎng)站視頻資源的獲取、各購物網(wǎng)站商品名稱價格的獲取、各小說網(wǎng)站文章標題內(nèi)容的獲取等等。爬蟲在實際項目當中的應用非常廣泛,在很多web開發(fā)項目及數(shù)據(jù)支撐方面也一直扮演著不可替代的角色。
現(xiàn)有網(wǎng)站頁面的數(shù)據(jù)爬取是基于前端界面的頁面元素提取,優(yōu)點在于數(shù)據(jù)的直觀可視化,能更明確需要抓取的數(shù)據(jù),缺點也很明顯,比如某些網(wǎng)頁當中的翻頁、鼠標點擊及鼠標放置浮動效果等都是通過JS(JavaScript)代碼來控制的,若是直接從前端界面元素爬取這些數(shù)據(jù),則需要將網(wǎng)頁當中的JS文件也下載下來才能模擬翻頁等操作,難度更大且實際操作也變得復雜,每次JS文件的加載都會對請求進行重復執(zhí)行,大大增加了網(wǎng)絡資源的損耗。
現(xiàn)有的網(wǎng)站數(shù)據(jù)爬取過程如圖1,會在本地搭建一個模擬用戶請求的瀏覽器,通過瀏覽器發(fā)送HTTP請求獲取業(yè)務需要的HTML網(wǎng)頁。在瀏覽器加載HTML網(wǎng)頁完成后,瀏覽器會繼續(xù)發(fā)送HTTP請求加載HTML網(wǎng)頁上嵌入的JS文件,渲染網(wǎng)頁,在瀏覽器將JS文件加載完成后,就可以編寫代碼模擬真實用戶的鼠標操作。完成相關(guān)的模擬操作,就能得到相應的信息了。
但是,該方案存在以下明顯問題,第一,很多網(wǎng)站對一定時間內(nèi)HTTP請求次數(shù)及訪問頻率是有限制的,這樣就造成數(shù)據(jù)爬取容易失敗,整個過程也更加漫長;第二,對于頁面元素需要JS操作的數(shù)據(jù)爬取會觸發(fā)多次HTTP請求加載網(wǎng)頁上嵌入的JS文件,尤其是前端頁面元素不規(guī)則的嵌套頁面的內(nèi)容獲取時,會造成網(wǎng)頁數(shù)據(jù)的多次加載,耗費大量的網(wǎng)絡資源使數(shù)據(jù)爬取變得更加復雜。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于JMeter的網(wǎng)站數(shù)據(jù)自動爬取方法,避免了從前端界面爬取數(shù)據(jù)過程中涉及的大量的復雜JS操作,同時也避免了因為一些網(wǎng)站對一定時間內(nèi)HTTP請求次數(shù)及訪問頻率的限制而造成數(shù)據(jù)爬取過程漫長或者直接爬取失敗。
本發(fā)明采取如下技術(shù)方案實現(xiàn)上述目的,基于JMeter的網(wǎng)站數(shù)據(jù)自動爬取方法,包括:
步驟(1)、確定需要進行數(shù)據(jù)爬取的目標網(wǎng)站;
步驟(2)、對目標網(wǎng)站進行數(shù)據(jù)分析,獲取數(shù)據(jù)接口以及數(shù)據(jù)接口相應的屬性信息;
步驟(3)、在JMeter端執(zhí)行數(shù)據(jù)接口,檢查數(shù)據(jù)接口中的請求參數(shù)以及對應的響應結(jié)果是否符合預期設(shè)定,若是,則進入步驟(4),否則在JMeter端對數(shù)據(jù)接口進行調(diào)試;
步驟(4)、對數(shù)據(jù)接口進行參數(shù)動態(tài)配置,對數(shù)據(jù)接口的響應提取字段參數(shù)進行動態(tài)配置,并對輸出目標文件進行動態(tài)配置;
步驟(5)、設(shè)置好相應動態(tài)配置后,設(shè)置反爬機制;
步驟(6)、批量爬取數(shù)據(jù)并輸出保存到目標文件。
進一步的是,在步驟(2)中,所述數(shù)據(jù)接口相應的屬性信息包括:請求地址、請求參數(shù)、請求類型、請求頭以及請求體。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于四川長虹電器股份有限公司,未經(jīng)四川長虹電器股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011156240.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





