對多頁爬蟲套用節流(throttling)
本練習的目標是取得地球上三座最高山峰的座標與其名稱。
你將即時從對應的 Wikipedia 頁面取得這些資訊。為了不要讓 Wikipedia 承受過多壓力,你會使用 slowly() 函式來套用節流。每次呼叫一個 Wikipedia 頁面後,程式都應該等待一小段時間。雖然只有 3 個 Wikipedia 頁面不算多,但這個原則適用於任何規模的爬取:請保持溫和,在請求之間加入等待時間。
山峰名稱位於 ID 為 "firstHeading" 的元素裡;座標則位於 class 為 "geo-dms" 的元素之中,而該元素是 ID 為 "coordinates" 的元素的後代。
已預先載入 purrr,而網址已放在 mountain_wiki_pages。
本練習屬於課程
R 的網頁爬蟲
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define a throttled read_html() function with a delay of 0.5s
read_html_delayed <- ___(___,
rate = ___(___))