2015-10-26 86 views
0

我一直在使用網絡爬蟲Heritrix最近在我的公司工作,經過一段時間的搜索和測試,我找不到如何解決我們的需求。找到網絡跟蹤到heritrix的網絡列表

我們希望每天在cron中自動運行heritrix來抓取網頁列表,我們想要做的是檢查該網絡的任何鏈接是否指向我們域列表中的網頁。困難的部分,並沒有找到辦法是記錄所有跟蹤到指向我們的域名的鏈接。

由於作業的日誌文件存儲所有包含一些信息但沒有跟蹤的鏈接。一個例子是,當作業完成後,運行一個腳本來作爲列表中的一個域的grep,因此如果它在抓取日誌中找到「brazzers」,它應該在另一個日誌中顯示從開始到結束的整個跟蹤的結果:

2015-10-25T20:18:58.369Z 200 91 http://cdn1.ads.brazzers.com/robots.txt XLEP http://cdn1.ads.brazzers.com/ text/plain的#021 20151025201857643 + 726 SHA1:CPA63O5POU3CVLCH3VDDIMBJCCWRVLPC - -

是否有可能做到這一點?或者其他的方式?覺得很愚蠢的這個東西,我不是編程很好

非常感謝你提前

恩裏克。

回答

1

實際上,有一種方法可以在完成爬網任務時分析最終日誌。多虧了Heritrix的開發商(https://groups.yahoo.com/neo)我現在有規則得到網站鏈接的蹤跡的響應:

在crawl.log行的第四場是在 下載的URI。該行的第六個字段告訴您在第四個 字段中給出的下載的URI所引用的(直接在之前) 的URI。因此,一般來說,如果您在 行的第四個字段中找到「ourdomain」,那麼您將該行的第六個字段中的URI看作 ,將其作爲crawl.log中的第四個字段,您可以找到其引用者 ,然後回到這個模式,直到你點擊種子URI。您應該知道何時獲取種子URI,因爲第六個字段將具有 「 - 」而不是URI(在第五個字段中給出的發現路徑 也將是「 - 」)。

這樣你可以得到具體的路徑,這種爬行實例 從種子到「ourdomain」了,雖然有可能是現有的爬蟲沒有在這種情況下采取其他多種 路徑。

到這一點,理清在日誌文件中的行構建Web鏈接跟蹤的一種方法是在PHP創建例如片斷給出

遵守規則的例子