2010-12-20 89 views
2

我該如何去做下面的事情......通過Web服務API進行Web Scraper?

我想爲我的應用程序構建一個web服務來從外部網站獲取一段數據,這需要用戶登錄。該網站沒有公開API,因此是刮板的原因。

有沒有圖書館來執行以下功能?或我該怎麼辦?

  • 自動化填寫表單,自動點擊
  • 自動化提交按鈕
  • 檢查哪個URL用戶已經登陸 ,並重定向用戶從標籤URL
  • 抓取數據。

編輯:什麼即時要求是否有一個Web服務,庫等,使其更容易執行屏幕抓取/自動化功能?

+3

如果網站不提供API - 那麼他們不希望他們的內容被盜用。夥計們,沒有**合法**開發人員的職位,不涉及任何形式的盜竊? – zerkms 2010-12-20 02:16:41

+0

mint.com - 該銀行沒有API,mint.com使用自動化後端軟件登錄銀行從用戶的銀行網站提取用戶的賬單。 (例如) – 001 2010-12-20 03:12:07

+2

那麼讓我直接得到這個 - 你的屏幕刮銀行網站?向我打招呼。 – RPM1984 2010-12-20 03:29:36

回答

1

您應該查看錶單的來源並找出數據的提交方式,而不是填寫表單並虛擬點擊按鈕。在大多數情況下,您可以簡單地使用登錄數據發送發佈請求。如果除了簡單的發佈請求之外還有其他特殊的內容,我使用this addon來確定您看不到的請求正在執行。使用C#,我會使用HttpWebRequest類,因爲它爲您處理Cookie。

0

如果網站不禁止機器人,您可以使用YQL來模擬您需要的一切。然而,這可能有點困難或不可能,因爲你基本上必須在JS中實現純文本瀏覽器。