2012-01-22 61 views
0

我最近編寫了一個Java爬蟲程序,它可以在網站中找到視頻鏈接並保存在文本文件中。但是有一個嚴重的問題。他們如何防止網頁爬行?

爲防止網頁抓取,他們使用一些方法來改變服務器中視頻的路徑。我知道他們不會動態地改變視頻鏈接的實際路徑。這太昂貴了。但是,我可以想出一個猜測,即他們使用諸如session-id之類的一些密鑰來加密文件路徑。

現在,我從Web服務器上獲取HTTP 410 - Gone錯誤。任何想法他們如何防止爬行和解決方案來克服這些傢伙的聰明方法?

+0

您的爬網程序是否正確處理會話? – kba

+7

如何不抓取顯然不想被抓取的網站? – Perception

+0

你有一個我們可以看到的問題發生的例子網站嗎? – ARRG

回答

5

有各種各樣的,人們可以實現保護自己的資源不被盜竊/方法刮痧:

  • 拒絕可疑用戶代理字符串
  • 禁止具有非典型使用模式的IP地址的 - 包括訪問速度過快,併發地選擇性下載(如果CSS/JS從未下載,則表明是刮擦),或者在您的方法中過於方便(按順序下載每個區域,這是普通用戶不會這麼做的)
  • 要求HTTP Referrer被設置,並且在頁面上e可能來自有效的鏈接源(例如,如果視頻沒有鏈接到主頁上,那麼它可能會拒絕如果標題被設置爲 - 當它看到時它可能被記錄/ IP阻止)

如果他們有版權聲明他們發佈的信息(或者該信息不屬於公有領域),如果他們試圖阻止這種訪問,這就暗示了這一點;那麼你在世界各地的大部分地區都可能違法。

+0

他也應該閱讀'robots.txt',如果它存在找出他應該和不應該抓取。 – Dev