Python爬取YY評級分數(shù)并保存數(shù)據(jù)實現(xiàn)過程解析
前言
當(dāng)需要進行大規(guī)模查詢時(比如目前遇到的情形:查詢某個省所有發(fā)債企業(yè)的YY評級分數(shù)),人工查詢顯然太過費時,那就寫個爬蟲吧。
由于該爬蟲實在過于簡單,就只簡單概述下。
一、請求端
通過觀察YY評級的網(wǎng)頁信息,如下圖(F12或右擊進入檢查,點擊network—>XHR—>headers)。
紅色框表明是個get請求(其實這種網(wǎng)頁基本都是Ajax get,需要總結(jié)實際url的規(guī)律的)。
綠色框即為實際URL,通過分析該URL,其由兩部分組成。前半部分為“https://web.ratingdog.cn/v1/search?”,后半部分為黃色框內(nèi)內(nèi)容用“&”符號連接后的結(jié)果。黃色框內(nèi)的內(nèi)容,只有企業(yè)名稱為變量,且為已知變量,那URL即可據(jù)此確定了。
另外需注意,YY評級需要登錄才可查詢數(shù)據(jù),在構(gòu)建頭部信息進行訪問時,一定要提前登錄,并在頭部信息中放入登錄信息和登錄狀態(tài)。
二、響應(yīng)端
通過觀察網(wǎng)頁的響應(yīng)信息(F12或右擊進入檢查,點擊network—>XHR—>response),如下圖。響應(yīng)信息及其簡單,我們所需要的YY評級分數(shù)安詳?shù)靥稍谀抢铮唵蔚揭粋€正則表達式就可以提取出該數(shù)據(jù)。正則如下:
'msg'.*?'IssuerName':'(.*?)','YYRating':'(.*?)/10','IntrinsicRating'.*?'
三、代碼
所需數(shù)據(jù)較少,代碼相對簡單,就不建立函數(shù)了,直接一路到底吧。如下:
運行代碼后,得到結(jié)果如下。安徽省的100多條數(shù)據(jù),就到了本地了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
