天天看點

爬蟲資料是如何收集和整理的?

有使用者一直好奇​​爬蟲​​識别網站上的爬蟲資料是如何整理的,今天就更大家來揭秘爬蟲資料是如何收集整理的。

通過​​查詢 IP 位址​​來獲得 rDNS 方式

我們可以通過爬蟲的 IP 位址來反向查詢 rDNS,例如:我們通過​​反向 DNS 查找工具​​查找此 IP: 116.179.32.160 ,rDNS 為:baiduspider-116-179-32-160.crawl.baidu.com

從上面大緻可以判斷應該是​​百度搜尋引擎蜘蛛​​。由于 Hostname 可以僞造,是以我們隻有反向查找,仍然不準确。我們還需要正向查找,我們通過 ping 指令查找 baiduspider-116-179-32-160.crawl.baidu.com 能否被解析為:116.179.32.160,通過下圖可以看出 baiduspider-116-179-32-160.crawl.baidu.com 被解析為 ​​116.179.32.160​​ 的 IP 位址,說明是​​百度搜尋引擎爬蟲​​确信無疑。

爬蟲資料是如何收集和整理的?

通過 ASN 相關資訊查找

并不是所有爬蟲都遵守上面的規定,大部分爬蟲反向查找沒有任何結果,我們需要查詢 IP 位址的 ASN 資訊來判斷爬蟲資訊是不是正确。

例如:這個 IP 是 ​​74.119.118.20​​,我們通過​​查詢 IP 資訊​​可以看到這個 IP 位址是美國加利福尼亞桑尼維爾的 IP 位址。

爬蟲資料是如何收集和整理的?

通過 ASN 資訊我們可以看出來他是 Criteo Corp. 公司的 IP。

爬蟲資料是如何收集和整理的?

上面的截圖是通過日志記錄檢視到 ​​critieo crawler​​ 的記錄資訊,黃色部分是它的 User-agent ,後面是它的 IP,這條記錄也沒有什麼問題(這個 IP 的确是 CriteoBot 的 IP 位址)。

通過爬蟲的官方文檔公布的 IP 位址段

有一些爬蟲會公布 IP 位址段,我們會将官方公布的爬蟲 IP 位址段直接儲存到資料庫,這是一種既簡單又快捷的方法。

通過公開日志

我們經常可以在網際網路上檢視到公開日志,例如下圖就是我找到的公開日志記錄:

總結