Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過程解析
前言
當(dāng)需要進(jìn)行大規(guī)模查詢時(shí)(比如目前遇到的情形:查詢某個(gè)省所有發(fā)債企業(yè)的YY評(píng)級(jí)分?jǐn)?shù)),人工查詢顯然太過費(fèi)時(shí),那就寫個(gè)爬蟲吧。
由于該爬蟲實(shí)在過于簡(jiǎn)單,就只簡(jiǎn)單概述下。
一、請(qǐng)求端
通過觀察YY評(píng)級(jí)的網(wǎng)頁信息,如下圖(F12或右擊進(jìn)入檢查,點(diǎn)擊network—>XHR—>headers)。
紅色框表明是個(gè)get請(qǐng)求(其實(shí)這種網(wǎng)頁基本都是Ajax get,需要總結(jié)實(shí)際url的規(guī)律的)。
綠色框即為實(shí)際URL,通過分析該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)行訪問時(shí),一定要提前登錄,并在頭部信息中放入登錄信息和登錄狀態(tài)。
二、響應(yīng)端
通過觀察網(wǎng)頁的響應(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. Python編寫nmap掃描工具2. PHP設(shè)計(jì)模式(四)原型模式Prototype實(shí)例詳解【創(chuàng)建型】3. python 爬取嗶哩嗶哩up主信息和投稿視頻4. PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)5. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值6. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密7. 10個(gè)提供免費(fèi)PHP腳本下載的網(wǎng)站8. Java向Runnable線程傳遞參數(shù)方法實(shí)例解析9. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送10. php5.6不能擴(kuò)展redis.so的解決方法
