Python實現YY評級分數的爬取,並保存數據(附代碼)

来源:https://www.cnblogs.com/python0921/archive/2020/05/30/12994896.html
-Advertisement-
Play Games

前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 當需要進行大規模查詢時(比如目前遇到的情形:查詢某個省所有發債企業的YY評級分數),人工查詢顯然太過費時,那就寫個爬蟲吧。 由於該爬蟲實在過於簡單,就只簡單概述下。 一、請求 ...


Python實現YY評級分數的爬取,並保存數據(附代碼)

 

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

當需要進行大規模查詢時(比如目前遇到的情形:查詢某個省所有發債企業的YY評級分數),人工查詢顯然太過費時,那就寫個爬蟲吧。

由於該爬蟲實在過於簡單,就只簡單概述下。

一、請求端

通過觀察YY評級的網頁信息,如下圖(F12或右擊進入檢查,點擊network—>XHR—>headers)。

紅色框表明是個get請求(其實這種網頁基本都是Ajax get,需要總結實際url的規律的)。

綠色框即為實際URL,通過分析該URL,其由兩部分組成。前半部分為“
https://web.ratingdog.cn/v1/search?”,後半部分為黃色框內內容用“&”符號連接後的結果。黃色框內的內容,只有企業名稱為變數,且為已知變數,那URL即可據此確定了。

Python實現YY評級分數的爬取,並保存數據(附代碼)

 

另外需註意,YY評級需要登錄才可查詢數據,在構建頭部信息進行訪問時,一定要提前登錄,併在頭部信息中放入登錄信息和登錄狀態。

二、響應端

通過觀察網頁的響應信息(F12或右擊進入檢查,點擊network—>XHR—>response),如下圖。響應信息及其簡單,我們所需要的YY評級分數安詳地躺在那裡,簡單到一個正則表達式就可以提取出該數據。正則如下:

"msg".*?"IssuerName":"(.*?)","YYRating":"(.*?)/10","IntrinsicRating".*?"

Python實現YY評級分數的爬取,並保存數據(附代碼)

 

 

 

三、代碼

所需數據較少,代碼相對簡單,就不建立函數了,直接一路到底吧。如下:

Python實現YY評級分數的爬取,並保存數據(附代碼)

 

運行代碼後,得到結果如下。安徽省的100多條數據,就到了本地了

Python實現YY評級分數的爬取,並保存數據(附代碼)

 

Python實現YY評級分數的爬取,並保存數據(附代碼)
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 餓漢式 // 餓漢式單例 public class Hungry { //構造器私有 private Hungry(){ } // 一上來就把這個類載入了 private final static Hungry HUNGRY = new Hungry(); public static Hungry ...
  • 本文講解,Python Tkinter 庫,的基本原理,白話講解,面向小白。 Tkinter 是什麼: Tkinter 是 Python 自帶的一個,標準庫,用於快速創造,簡單的 GUI 程式。 為什麼要瞭解 Tkinter: 首先,因為這個庫,是 Python 自帶的,所以非常方便,隨叫隨到的那種 ...
  • L2-4 部落 在一個社區里,每個人都有自己的小圈子,還可能同時屬於很多不同的朋友圈。我們認為朋友的朋友都算在一個部落里,於是要請你統計一下,在一個給定社區中,到底有多少個互不相交的部落?並且檢查任意兩個人是否屬於同一個部落。 輸入格式: 輸入在第一行給出一個正整數N(≤1e4),是已知小圈子的個數 ...
  • 二叉搜索樹 定義 二叉查找樹(英語:Binary Search Tree),也稱為二叉搜索樹、有序二叉樹(ordered binary tree)或排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹: 若任意節點的左子樹不空,則左子樹上所有節點的值均小於它的根節 ...
  • 圖中是暗黑領域,非常牛逼的技能。 背景 DDD中出現的名詞: 領域,子領域,核心域,通用域,支撐域,限界上下文,聚合,聚合根,實體,值對象 都是關鍵概念,但是又比較晦澀,在開始DDD之前,搞清楚這些關鍵概念名詞非常的重要。 那它們作用體現在哪裡呢? 領域-子領域 領域是: 從事專門活動或者事業的範圍 ...
  • #include<vector> // 包含頭文件vector ... using namespace std; // vector包含在std中,因此必須包含std::vector vector <int> vi; // create a zero-size array of int int n; ...
  • python的變數是存在作用域的,在代碼中不同位置的變數作用的範圍會有所不同,比如有的變數在整段代碼中都可以使用,有的變數卻只在函數內部使用。python中把能夠在整段代碼任意位置有效的變數稱為全局變數,只在函數內部使用的變數稱作局部變數。 全局變數: a = 520 #此時a作為全局變數 def ...
  • 1. 應用測試的介紹 一般我們在寫完代碼之後,代碼的測試是會給專門的測試人員來測試的,如果一個測試跑到你的工位上對你說,你的代碼好像有Bug,你肯定會不爽,反正我就是這樣的🙃。所以為了顯示自己的代碼質量高一點,在功能提交給測試之前,我們會自己測試一下,接下來給大家介紹一下 Spring Boot ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...