2016-07-05 72 views
0

刮搜索結果的多個頁面,我想湊一個網站,該網站列出了南非所有的資格(http://allqs.saqa.org.za/search.php如何,使用R

當你第一次去的鏈接,你會注意到它的網頁與搜索條件。我想颳去所有結果,所以我不會在搜索條件中輸入任何內容 - 只需單擊「GO」,然後返回我想要搜索的搜索結果。結果顯示20條記錄,並有16521頁的結果。在這個階段,URL仍然如上所述。

可以刮這些結果嗎?從我一直在做的在線搜索中,我找到了解決方案,可以在網址中定義頁面結果搜索條件的位置。然而,對於我想這刮的網站是不是選項

理想情況下,我想用R做拼搶,但我接受其他的建議,如果它不是R中可能

非常感謝 Ria

+0

你有什麼試過?你卡在哪裏?在這一點上,這個問題太寬泛/一般。 – JasonAizkalns

+0

我查看了該網站,並且只顯示了支持POST方法。我嘗試將提交操作從POST更改爲GET,這爲我提供了一個定義了搜索條件的URL,但這只是將我帶回了主要搜索頁面。你將需要找到一個支持POST的抓取工具。 – Teajay

回答

0

R有一個支持POST方法的curl包。下面的代碼應該讓你開始:

library(curl) 
h = new_handle() 
handle_setopt(h, copypostfields = "cat=qual&GO=Go") 
req = curl_fetch_memory("http://allqs.saqa.org.za/search.php", handle=h) 
cat(rawToChar(req$content)) 

注意提交表單後,這只是吐出來的是網頁的內容。將數據解析爲數據框只是一個練習。在R中鍵入「?? curl」以查看教程。