首頁(yè)> 資訊 > > 正文

            【全球速看料】Quicker快速開發(fā),簡(jiǎn)單的網(wǎng)頁(yè)數(shù)據(jù)爬取(示例,獲取天眼查指定公司基礎(chǔ)工商數(shù)據(jù))

            2023-03-23 17:27:50來(lái)源:博客園


            (相關(guān)資料圖)

            前言

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

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

            至此,開發(fā)邏輯明確,六步實(shí)現(xiàn)(實(shí)際上按照知識(shí)點(diǎn)來(lái)說(shuō),只有兩個(gè)步驟,接口爬取和獲取節(jié)點(diǎn)):

            第一步,根據(jù)關(guān)鍵字快速查詢公司;第二步,直接使用快速查詢到的第一個(gè)公司,拿到其id;第三步,使用id,get訪問詳情網(wǎng)頁(yè),獲取網(wǎng)頁(yè)源碼;第四步,讀取html公司數(shù)據(jù)節(jié)點(diǎn);第五步,讀取業(yè)務(wù)需求信息的json節(jié)點(diǎn),重新組裝拼接;第六步,展示數(shù)據(jù);效果展示

            腳本截圖效果演示,功能很簡(jiǎn)單

            結(jié)語(yǔ)

            這個(gè)腳本就是促進(jìn)生產(chǎn)力的一個(gè)很好表現(xiàn)

            標(biāo)簽:

            上一篇:
            下一篇: