r语言 - 刮痧Metacritic:使用条件刮痧节点



我正在写一个代码来抓取所有的审查https://www.metacritic.com/game/playstation-4/red-dead-redemption-2/user-reviews.

我在刮痧时遇到困难由于"扩展"的注释按钮,显示长注释。

我已经设法很长的注释,但还没有能够所有其他:

review <- html_text(html_nodes(webpage,'span[class="blurb blurb_expanded"]'))

我发现了一个使用Beautifulsoup的代码,但我对在vest上做同样的事情无能为力

if review.find('span', class_='blurb blurb_expanded'):
review_dict['review'].append(review.find('span', class_='blurb blurb_expanded').text)
else:
review_dict['review'].append(review.find('div', class_='review_body').find('span').text)

你如何在vest上做类似的事情?如何在刮取时添加条件?? 你怎么刮所有非扩展评论?

谢谢! !

不需要条件逻辑。您确实需要一个用户代理标头。然后,您可以根据产品评论(product_reviews类)下的类别(review_body)选择评论。使用html_text2(),您可以为br元素保留良好的格式。

library(httr)
headers <- c( "user-agent" = "Mozilla/5.0")
r <- httr::GET(url = "https://www.metacritic.com/game/playstation-4/red-dead-redemption-2/user-reviews", httr::add_headers(.headers = headers)) %>%
content()
reviews <- r %>% html_elements('.product_reviews .review_body') %>% html_text2() %>% lapply(. ,function(x){gsub('… Expand','',x)})
       

最新更新