我需要編寫腳本進入網站,登錄,導航到頁面並下載(以及解析後)該頁面的html。如何使用腳本瀏覽網站以獲取信息
我想要的是一個獨立的腳本,而不是控制Firefox的腳本。我不需要任何JavaScript支持,只需簡單的HTML導航。
如果沒有什麼容易做到這一點存在..那麼通過網絡瀏覽器(火狐或Safari瀏覽器,我在Mac上)的行爲。
感謝
我需要編寫腳本進入網站,登錄,導航到頁面並下載(以及解析後)該頁面的html。如何使用腳本瀏覽網站以獲取信息
我想要的是一個獨立的腳本,而不是控制Firefox的腳本。我不需要任何JavaScript支持,只需簡單的HTML導航。
如果沒有什麼容易做到這一點存在..那麼通過網絡瀏覽器(火狐或Safari瀏覽器,我在Mac上)的行爲。
感謝
我不知道預構建的通用刮板,但您可能能夠通過Google找到一個。
寫一個web刮板絕對是可行的。在我非常有限的經歷中(我只寫了一對),我不需要處理登錄/安全問題,但是在谷歌搜索中我看到了一些處理它們的例子 - 害怕我不記得這些頁面的URL 。我確實需要了解一些關於我正在抓取的頁面的細節;這樣可以更容易地編寫刮刀,但是,當然,刮刀僅限於在這些頁面上使用。但是,如果您只是抓取整個頁面,則可能只需要相關頁面的URL。
不知道你會接受哪種語言,很難提供更多的幫助。 FWIW,我已經在PHP和Python中完成了刮板。正如Ben G.所說的那樣,PHP對此有幫助,也許還有更多,但我不太瞭解PHP。 Python有幾個模塊可供選擇,包括lxml,BeautifulSoup和HTMLParser。
編輯:如果你使用的是Unix/Linux(或者我認爲是CygWin),你可以用wget來達到你想要的效果。
如果你想使用PHP,你可以使用curl功能來建立自己的簡單的網頁刷屏。
對於如何開始的想法,請參閱:http://us2.php.net/manual/en/curl.examples-basic.php
這可能是一個愚蠢的問題,因爲我沒有MAC的知識,但什麼語言都是我們在這裏談論,而且這是一個網站,你有控制權,或者像谷歌在檢查頁面內容時可能使用的蜘蛛機器人一樣?我知道在C#中,您可以使用HttpWebRequest和流式閱讀器加載其他站點上的對象...在Java腳本中(如果知道SUPPOSED在那裏,這隻會真正起作用),您可以打開網頁iframe的來源,並使用java腳本遍歷頁面上所有元素的內容......或者更好的是,使用jquery。
我需要編寫一個腳本,轉到網站,登錄,導航到頁面並下載(以及解析後)該頁面的html。
對我來說,這聽起來像一個POST或GET請求的登錄頁面的URL可以做的job.With正確的參數用戶名和密碼(取決於頁面上使用的表單輸入名稱)設置該請求,結果將是您可以隨意解析的頁面的html。
這可以用幾乎任何語言來完成。你想用什麼語言?
是的,你是對的我可以做到這一點。但我希望有更復雜的任務,但是我會用紅寶石來嘗試這種方式。 – luca 2009-10-10 08:11:55
我最近剛剛在C#項目中做了什麼。如果需要登錄,您的第一個請求可能是帖子幷包含憑據。響應通常包括在隨後的請求中保留身份的cookie。使用Fiddler可以查看當您正常使用瀏覽器登錄時,將何種格式的數據(字段名稱和值)發佈到服務器。一旦你有了這個,你可以用表單數據構造一個HttpWebRequest,並將響應中的cookie存儲在CookieContainer中。
下一步是對您實際需要的內容提出請求。這將是附加CookieContainer的另一個HttpWebRequest。響應可以通過StreamReader讀取,您可以讀取並轉換爲字符串。
每次我這樣做時,通常都是一個相當費力的過程來識別所有相關的表單數據並手動重新創建請求。廣泛使用Fiddler並比較瀏覽器在正常使用站點時發出的請求與來自腳本的請求。您可能還需要操作請求標頭;再次,使用Fiddler手動構建這些代碼,讓它們正確提交併按照您的預期進行響應,然後對其進行編碼。祝你好運!
什麼是腳本語言選項? – 2009-10-09 20:25:58
紅寶石和bash會很好。我可以與其他語言(python perl etc) – luca 2009-10-10 08:15:10
!!!如果任何人可以做一個腳本,請告訴如何: 去www.webpoliself.polimi.it,按照重定向,並得到一個頁面,其網址是類似https://www10.ceda.polimi.it/polijtweb/......你不能直接去那裏,因爲它會在幾個小時後中斷,所以我想有一些重定向中涉及的cookies。 – luca 2009-10-10 09:21:46