2010-07-27 28 views
0

我使用SimpleHtmlDOM PHP相當成功地颳去了我最喜歡的一些網頁。但是,其中一些頁面要求我在登錄之前先登錄我真正關心的信息。有人知道如何(或者如果有可能)讓圖書館訪問頁面,在訪問頁面之前需要輸入用戶名和密碼?我所做的一切最新的東西,如開始......使用SimpleHtmlDOM +登錄?

$html = file_get_html('http://www.google.com/'); 

回答

2

極少數的網站使用相同的認證機制,所以沒有一個方式總是與網站進行身份驗證。

你最好的選擇是使用cURL,使你的刮板看起來像一個真正的瀏覽器。這意味着using cookies(搜索頁面上的「cookie」,您可能想要使用cookie文件/ jar)並將它們存儲在某處,導航到登錄表單,成功提交它,然後繼續使用該「瀏覽器」會話執行你的刮。

請確保網站不介意以這種方式被刮掉。如果發現,您可能會被禁止訪問網站,具體取決於網站所有者不喜歡抄襲。

+0

有趣的是,爲什麼會有人關心被這樣的刮? – vicatcu 2010-07-27 03:19:32

+0

@vicatcu,這取決於網站是什麼,以及你在做什麼與數據。例如,如果您登錄的網站僅爲會員託管論壇並拉出帖子,網站所有者可能並不滿意。 – Charles 2010-07-27 03:41:07

+0

哦,我明白你的意思了,我無意拉取私人數據並將其重新發布到公共空間。感謝您的建議! – vicatcu 2010-07-27 15:22:44

0

simplehtmldom的另一個問題是dom必須正確,因爲dom中的錯誤會導致解析器錯誤,並且該對象將爲空。