我是新來的網絡抓取,目前我正在嘗試爲一個研究項目下載超過10萬部電影的字幕文件。每部電影都有獨特的IMDb ID(即,初始識別碼爲1375666
)。我在R中有一個包含102524 ID的列表,我想從opensubtitles.org下載相應的字幕。網頁截圖來自opensubtitles.org在R
每部電影有網站自己的頁面,例如,成立至今:
https://www.opensubtitles.org/en/search/sublanguageid-eng/imdbid-1375666
下載通過點擊表格中的第一個環節叫「電影名字上獲得的字幕鏈接「,它會將您帶到新頁面,然後單擊該頁面上的」下載按鈕「。
我使用rvest
刮網頁,我已經寫了這個代碼:
for(i in 1:102524) {
subtitle.url = paste0("https://www.opensubtitles.org/en/search/sublanguageid-eng/imdbid-", movie.ids[i])
read_html(subtitle.url) %>%
html_nodes(".head+ .expandable .bnone")
# Not sure where to go from here
}
如何做到這一點任何幫助將不勝感激。
編輯:我知道我問的東西很複雜,但是從哪裏開始的任何指針都會很棒。
代碼是否會暫停而不會超載該網站?你甚至讀過http://trac.opensubtitles.org/projects/opensubtitles/wiki/DevReadFirst(就像它在網站上說的那樣)? – hrbrmstr
@hrbrmstr,請參閱下面的答案,其中執行時間延遲。 (當我想出如何去做我正在嘗試做的事情時,我會添加一段時間的延遲)。 –
GGamba是一個體面的章(注意我的評論)。你的第二個問題暗示你的設計故意規避你認爲你有權獲得的B/C網站限制。我不會對我對你的承諾的信念做任何假設或評論,因爲這會增加你最終項目的延遲。 – hrbrmstr