【问题标题】:Scraping Movie reviews from IMDB using rvest使用 rvest 从 IMDB 抓取电影评论
【发布时间】:2016-07-07 13:04:13
【问题描述】:

我在 IMDB 上提取了电影的评论,但单独的评论之间有很多空白行。它是非结构化的,很难查看。 我必须分别对它们中的每一个应用某些功能,然后将它们一起存储为 1 以进行某些其他功能的文本挖掘。

我如何构造(清理)它们并一次访问它们,以及如何组合它们并将它们存储在一起?

这是我用于抓取评论的代码

ID <- 1490017
URL <- paste0("http://www.imdb.com/title/", ID, "/reviews?filter=prolific")
MOVIE_URL <- read_html(URL)
ex_review <- MOVIE_URL %>%
html_nodes("p") %>%
html_text()

【问题讨论】:

    标签: r web-scraping rvest


    【解决方案1】:

    我建议您在浏览 DOM 时更加具体。例如,此代码将仅提供评论,而不会提供您可能不想抓取的其他信息:

    ID <- 1490017
    URL <- paste0("http://www.imdb.com/title/tt", ID, "/reviews?filter=prolific")
    MOVIE_URL <- read_html(URL)
    ex_review <- MOVIE_URL %>% html_nodes("#pagecontent") %>%
      html_nodes("div+ p") %>%
      html_text()
    

    这是一种删除换行符的方法,对每个评论应用一个函数,并将所有评论合并到一个段落中(另请参阅 post 连接矢量元素和 post 更换换行符):

    ex_review <- gsub("[\r\n]", " ", ex_review) # replace line breaks
    sapply(ex_review, function(x){}) # apply function to each review
    ex_review <- paste(ex_review, collapse = "") # concatenate reviews into one paragraph
    write(ex_review, "test.txt")
    

    我认为您还缺少 URL 中的“tt”。

    【讨论】:

    • 这大大改进了提取。非常感谢您的回答。但是,我的主要问题是能够处理我提取的评论,因为我无法这样做。处理它们就像删除删除每个评论之间的多行一样。还将文本组合成所有评论的一大段。因为我也需要做一个整体分析。
    • 使用此方法不会删除换行符。其他工作正常:)
    • 您可以建议的任何其他方法。
    猜你喜欢
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2022-01-18
    • 1970-01-01
    • 2022-10-21
    相关资源
    最近更新 更多