前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 當需要進行大規模查詢時(比如目前遇到的情形:查詢某個省所有發債企業的YY評級分數),人工查詢顯然太過費時,那就寫個爬蟲吧。 由於該爬蟲實在過於簡單,就只簡單概述下。 一、請求 ...
前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
當需要進行大規模查詢時(比如目前遇到的情形:查詢某個省所有發債企業的YY評級分數),人工查詢顯然太過費時,那就寫個爬蟲吧。
由於該爬蟲實在過於簡單,就只簡單概述下。
一、請求端
通過觀察YY評級的網頁信息,如下圖(F12或右擊進入檢查,點擊network—>XHR—>headers)。
紅色框表明是個get請求(其實這種網頁基本都是Ajax get,需要總結實際url的規律的)。
綠色框即為實際URL,通過分析該URL,其由兩部分組成。前半部分為“
https://web.ratingdog.cn/v1/search?”,後半部分為黃色框內內容用“&”符號連接後的結果。黃色框內的內容,只有企業名稱為變數,且為已知變數,那URL即可據此確定了。
另外需註意,YY評級需要登錄才可查詢數據,在構建頭部信息進行訪問時,一定要提前登錄,併在頭部信息中放入登錄信息和登錄狀態。
二、響應端
通過觀察網頁的響應信息(F12或右擊進入檢查,點擊network—>XHR—>response),如下圖。響應信息及其簡單,我們所需要的YY評級分數安詳地躺在那裡,簡單到一個正則表達式就可以提取出該數據。正則如下:
"msg".*?"IssuerName":"(.*?)","YYRating":"(.*?)/10","IntrinsicRating".*?"
三、代碼
所需數據較少,代碼相對簡單,就不建立函數了,直接一路到底吧。如下:
運行代碼後,得到結果如下。安徽省的100多條數據,就到了本地了