如何刮一個閃存網站?


我們正在使用Html Agility Pack來抓取基於HTML的網站的數據;是否有像Html Agility Pack這樣的DLL來刮擦基於閃存的網站?

熱門答案

這實際上取決於您要廢棄的網站。在這方面有兩種類型的網站:

  • 如果站點有swf文件中的數據,那麼你必須反編譯swf文件,並讀取裡面的數據。有了足夠的工作,你可以通過編程方式完成它。但是,如果是這種情況,手動收集數據可能更容易,因為它可能不會發生太大變化。

  • 但是,如果大多數情況下,特別是對於擁有大量數據的網站,則flash文件實際上是在聯繫外部API。在這種情況下,您可以完全忽略閃存並直接訪問API。如果你不確定,只需激活Firebug的網絡面板,然後開始瀏覽。如果它使用外部API,它應該變得明顯。
    一旦找到該API,您可能可以對其進行逆向工程,以便為您提供所需的任何數據。

另請注意,如果它是一個足夠大的站點,可能有非閃存方式來獲取相同的數據:

  • 它可能有一個移動網站(沒有閃存) - 嘗試使用iPhone用戶代理訪問該網站。
  • 它可能有一個抓取工具的網站(如googlebot) - 嘗試使用googlebot用戶代理訪問該網站。

編輯:如果你談論爬行(爬行意味著從任何隨機網站獲取數據)而不是刮取(從特定網站獲取結構化數據),那麼你可以做的並不多,即使googlebot也沒有報廢Flash內容。主要是因為與HTML不同,flash沒有標準化的語法,你可以立即告訴什麼是文本,什麼是鏈接等...





許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因