首頁> 資訊 > > 正文

            【全球速看料】Quicker快速開發,簡單的網頁數據爬?。ㄊ纠?,獲取天眼查指定公司基礎工商數據)

            2023-03-23 17:27:50來源:博客園


            (相關資料圖)

            前言

            有某個線上項目,沒有接入工商接口,每次錄入公司的時候,都要去天眼查、企查查或者其他公開數據平臺,然后手動錄入,一兩個還好說,數量多了的重復操作就很煩,而且,部分數據是包含超鏈接,一不注意就點進去,又多了一個步驟。因此,我就用Quicker寫了一個數據抓取腳本,用來抓取一些公開的工商數據,邏輯很簡單,知識點只有基礎html、json節點提取。Quicker腳本分享地址:https://getquicker.net/Sharedaction?code=f9963209-c56c-48b5-c379-08db2ab3ed80

            實現邏輯探索思路天眼查的搜索框關聯了一個快速查詢的接口,可以根據關鍵字快速查詢一個公司的基礎信息,我們需要的是公司id,用來查詢詳細信息;根據id是沒法直接獲取到公司的工商信息的(可能是我沒花太長時間,沒爬到相關的接口),但既然頁面上是顯示了的,那就能獲取,不能爬接口就爬網頁吧;但是爬網頁又遇到一個問題,直接通過get獲取html文檔的話,工商數據那一欄是沒加載(無節點數據)的,初步估計設計上是嵌入式的延遲加載,要是瀏覽器載入加載后才能獲取對應節點數據;獲取延遲加載的數據可以使用Quicker“瀏覽器控制”的等待瀏覽器加載完成實現,但這樣還要調用瀏覽器進行模擬操作有點不合理,本來就不復雜的操作,搞得還有點麻煩了;通過翻詳情頁面的html源碼,我發現,工商數據并不是真正意義上的延遲加載,而是先獲取到數據,掛載到資源,然后再響應式進行數據渲染,同時渲染的數據少點的話,比較節約資源,也就是說,實際上通過get獲取到的html源碼是包含了工商數據的,見下節點;
            <script id="__NEXT_DATA__" type="application/json">{json}<script>
            說來也奇怪,節點的類型是application/json的話,那就說明是數據通過json文件獲取到,但我還是沒查到到底是哪個接口獲取的,有個包含了{id}.json的接口,但這個接口1是沒返回數據,2是更改參數后會提示沒權限,我相信深扒網頁js腳本的話,應該是能找到方法的,但搞起來好麻煩,暫時不深究;實現步驟

            至此,開發邏輯明確,六步實現(實際上按照知識點來說,只有兩個步驟,接口爬取和獲取節點):

            第一步,根據關鍵字快速查詢公司;第二步,直接使用快速查詢到的第一個公司,拿到其id;第三步,使用id,get訪問詳情網頁,獲取網頁源碼;第四步,讀取html公司數據節點;第五步,讀取業務需求信息的json節點,重新組裝拼接;第六步,展示數據;效果展示

            腳本截圖效果演示,功能很簡單

            結語

            這個腳本就是促進生產力的一個很好表現

            標簽:

            上一篇:
            下一篇: