Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析
前言
當(dāng)需要進(jìn)行大規(guī)模查詢時(shí)(比如目前遇到的情形:查詢某個(gè)省所有發(fā)債企業(yè)的YY評(píng)級(jí)分?jǐn)?shù)),人工查詢顯然太過(guò)費(fèi)時(shí),那就寫(xiě)個(gè)爬蟲(chóng)吧。
由于該爬蟲(chóng)實(shí)在過(guò)于簡(jiǎn)單,就只簡(jiǎn)單概述下。
一、請(qǐng)求端
通過(guò)觀察YY評(píng)級(jí)的網(wǎng)頁(yè)信息,如下圖(F12或右擊進(jìn)入檢查,點(diǎn)擊network—>XHR—>headers)。
紅色框表明是個(gè)get請(qǐng)求(其實(shí)這種網(wǎng)頁(yè)基本都是Ajax get,需要總結(jié)實(shí)際url的規(guī)律的)。
綠色框即為實(shí)際URL,通過(guò)分析該URL,其由兩部分組成。前半部分為“https://web.ratingdog.cn/v1/search?”,后半部分為黃色框內(nèi)內(nèi)容用“&”符號(hào)連接后的結(jié)果。黃色框內(nèi)的內(nèi)容,只有企業(yè)名稱為變量,且為已知變量,那URL即可據(jù)此確定了。
另外需注意,YY評(píng)級(jí)需要登錄才可查詢數(shù)據(jù),在構(gòu)建頭部信息進(jìn)行訪問(wèn)時(shí),一定要提前登錄,并在頭部信息中放入登錄信息和登錄狀態(tài)。
二、響應(yīng)端
通過(guò)觀察網(wǎng)頁(yè)的響應(yīng)信息(F12或右擊進(jìn)入檢查,點(diǎn)擊network—>XHR—>response),如下圖。響應(yīng)信息及其簡(jiǎn)單,我們所需要的YY評(píng)級(jí)分?jǐn)?shù)安詳?shù)靥稍谀抢?,?jiǎn)單到一個(gè)正則表達(dá)式就可以提取出該數(shù)據(jù)。正則如下:
'msg'.*?'IssuerName':'(.*?)','YYRating':'(.*?)/10','IntrinsicRating'.*?'
三、代碼
所需數(shù)據(jù)較少,代碼相對(duì)簡(jiǎn)單,就不建立函數(shù)了,直接一路到底吧。如下:
運(yùn)行代碼后,得到結(jié)果如下。安徽省的100多條數(shù)據(jù),就到了本地了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. 利用CSS制作3D動(dòng)畫(huà)3. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題4. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法5. html5手機(jī)觸屏touch事件介紹6. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮7. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)8. 測(cè)試模式 - XSL教程 - 59. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效10. xpath簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
