2014-06-05 52 views
0

誰能告訴我,如果有任何方式的Apache Nutch的忽略或繞過的robots.txt而爬行的robots.txt繞過。我正在使用nutch 2.2.1。我發現, 「RobotRulesParser.java」(全路徑:-src /插件/ LIB-HTTP/SRC/JAVA /組織/阿帕奇/的nutch /協議/ HTTP/API/ RobotRulesParser.java)負責的讀取和解析robots.txt的。有沒有辦法修改這個文件來忽略robots.txt並繼續爬行?如何與Apache Nutch的2.2.1

或者是有任何其他方式來達到同樣的?

+1

傢伙,我只是想知道這對我自己的知識。我完全尊重robots.txt,但是好奇心不大。畢竟,我是一名編碼員。 –

+0

堆棧溢出問題是公開可用的,並且在Google搜索結果中具有很高的特徵。所以在實踐中它不會是「僅僅爲了你自己的知識」,而是要了解每個人的知識。在這種情況下,這將是一件**糟糕的事情**。 – JonK

+1

@JonK我會在這種情況下刪除這篇文章。但是我認爲您已經知道人們已經在使用旨在忽略robots.txt的網頁抓取工具。當我說我不打算做這些事情時,請相信我,否則我可以簡單地使用其中一個爬蟲。我只是想更好地理解nutch。 –

回答

3
  1. 首先,我們應該尊重robots.txt文件,如果您要爬網任何外部網站。 否則您面臨風險 - 您的知識產權被禁止或更糟可能是任何法律案件。

  2. 如果您的網站內部,而不是暴露於外部世界,那麼你應該改變的robots.txt文件以允許抓取工具。

  3. 如果您的網站被暴露在Internet中,如果數據是保密的,那麼你可以試試下面的選項。因爲在這裏您不能冒修改robots.txt文件的風險,因爲外部爬蟲可以使用您的爬蟲名稱並爬網。

    在Fetcher.java文件:

    if (!rules.isAllowed(fit.u.toString())) { } 
    

    這是負責用於阻斷網址塊。你可以玩這個代碼塊來解決你的問題。

+0

感謝您接受我的評論作爲您的問題的答案: 但我想知道mt答案的哪一部分對您有幫助... –