天眼查這類公司是通過(guò)什么手段獲取公司電話的?
看了下天眼查的網(wǎng)站,除了工商數(shù)據(jù)之外,還有招聘數(shù)據(jù)、著作權(quán)、專利、商標(biāo)、企業(yè)新聞等,這里只問(wèn)到了企業(yè)工商數(shù)據(jù),故先只回答企業(yè)工商數(shù)據(jù)的來(lái)源,其他部分有時(shí)間可以更新一下。
工商數(shù)據(jù)包括了工商基本信息、股東信息、工商變更信息、主要任職人員、企業(yè)分支機(jī)構(gòu)、動(dòng)產(chǎn)抵押、股權(quán)出質(zhì)、行政處罰、企業(yè)年報(bào)等很多信息,其唯一可信的來(lái)源,是「全國(guó)企業(yè)信用信息公示系統(tǒng)」,也就是這個(gè)網(wǎng)站:唯一合理的解釋是:天眼查通過(guò)網(wǎng)絡(luò)爬蟲(chóng)抓取了全國(guó)企業(yè)信用信息公示系統(tǒng)的絕大部分公司工商數(shù)據(jù)。這其中存在兩個(gè)難點(diǎn):這里只是一個(gè)聚合站,每個(gè)省的查詢接口和對(duì)應(yīng)的 HTML 結(jié)構(gòu)是不同的,如何高效抓取及解析數(shù)據(jù);這個(gè)系統(tǒng)并沒(méi)有一個(gè)展示所有公司的列表,需要傳遞一個(gè)參數(shù)查詢,如何遍歷所有注冊(cè)公司。對(duì)于解決方案,第一個(gè)難點(diǎn)有兩個(gè)需要解決的問(wèn)題:1) 各省查詢的時(shí)候提交請(qǐng)求參數(shù)不同; 2) 解析的網(wǎng)頁(yè)結(jié)構(gòu)不同。第一個(gè)無(wú)他法,只有硬著頭皮手寫(xiě)三十多個(gè)不同的提交請(qǐng)求的方式,來(lái)模擬各省份不同的查詢接口。第二個(gè),其實(shí)是可以做到通用,因?yàn)殡m然網(wǎng)頁(yè)結(jié)構(gòu)不完全相同,但是最后的呈現(xiàn)形式大同小異,所以是有方式做到非常通用的解析代碼的。之所以不說(shuō)百分之百通用,是因?yàn)榭傆欣庑枰厥馓幚恚热缰貞c的工商數(shù)據(jù),返回的就是一個(gè) JSON 串,不需要再去解析 HTML。第二個(gè)問(wèn)題才是真正棘手的。無(wú)法直接遍歷工商信息,那么怎樣獲取盡可能多的工商數(shù)據(jù)呢?第一,全國(guó)企業(yè)信用信息公示系統(tǒng)的訪問(wèn)時(shí)很慢的,所以在這里做遍歷的話,效率會(huì)非常低。但是,每個(gè)公司會(huì)有唯一的組織機(jī)構(gòu)代碼,生成規(guī)則可以在網(wǎng)上找到,或者可以直接買(mǎi)一本回去慢慢研究(組織機(jī)構(gòu)代碼),通過(guò)生成所有的組織機(jī)構(gòu)代碼,就可以去這個(gè)網(wǎng)站——「全國(guó)組織機(jī)構(gòu)代碼管理中心 -- 誠(chéng)信體系實(shí)名制查詢」——查詢到對(duì)應(yīng)的基本信息,然后再會(huì)到剛才的全國(guó)企業(yè)信用信息公示系統(tǒng),就可以查詢到對(duì)應(yīng)的工商信息了。另外,我相信天眼查還會(huì)做的一件事就是,當(dāng)用戶查詢一家公司,在自己數(shù)據(jù)庫(kù)沒(méi)有找到結(jié)果的時(shí)候,會(huì)立即去全國(guó)企業(yè)信用信息公示系統(tǒng)查詢,并將結(jié)果保存下來(lái)。做到上面的內(nèi)容,還需要一種機(jī)制定期更新數(shù)據(jù)庫(kù)中的大量公司的信息,當(dāng)然這是后話。當(dāng)然,這兩步中都面臨一個(gè)問(wèn)題——驗(yàn)證碼。數(shù)以千萬(wàn)計(jì)的公司,如果使用人肉打碼的話,效率和成本上肯定都是無(wú)法承受的,所以,相信天眼查內(nèi)部還會(huì)有一位以上圖像識(shí)別方面的大牛,畢竟上面出現(xiàn)的網(wǎng)站中有些驗(yàn)證碼的識(shí)別還是非常困難的。