You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言:使用rvest爬取Google+评论的技术问题

搞定Google搜索评论动态加载的爬取问题

嘿,我太懂你为啥用rvest搞不定了——Google搜索里的评论是动态加载的,那个“More”按钮不点,完整内容根本不会出现在初始的静态HTML里,rvest只能抓页面一开始就有的内容,自然拿不到完整评论!咱们换RSelenium来操作就对了,它能模拟真实浏览器的点击行为,帮你把隐藏的评论都揪出来,具体步骤走一波:

1. 先把环境搭好,启动浏览器

先确认你装了RSelenium和对应的浏览器驱动(比如ChromeDriver),然后启动一个浏览器会话:

library(RSelenium)
library(rvest)

# 启动Chrome浏览器(换成Firefox也可以,对应调整参数就行)
driver <- rsDriver(browser = "chrome", port = 4567L)
remDr <- driver[["client"]]

2. 打开目标页面,点击“More”加载完整评论

让浏览器打开你要爬的搜索页面,然后找到那个“More”按钮模拟点击,给点时间让评论加载完:

# 访问目标搜索页面
target_url <- "https://www.google.co.uk/search?q=queen%27s+hospital+romford"
remDr$navigate(target_url)

# 定位“More”按钮(这里用XPath,你可以用浏览器F12自己核对下选择器,Google页面偶尔会微调)
more_btn <- remDr$findElement(using = "xpath", value = "//span[contains(text(), 'More')]")
more_btn$clickElement()

# 给浏览器3秒加载时间,网络慢的话可以调长点
Sys.sleep(3)

3. 提取完整评论内容

现在页面已经把所有评论都展示出来了,咱们把当前页面的HTML抓下来,再用rvest解析:

# 获取当前页面的完整HTML
page_html <- remDr$getPageSource()[[1]]
parsed_html <- read_html(page_html)

# 提取评论(这里的CSS选择器要根据实际页面结构调整,用F12找评论的容器类名)
full_comments <- parsed_html %>% 
  html_elements(".review-content") %>% 
  html_text2()

# 看看爬到的完整评论
print(full_comments)

4. 爬完记得关掉浏览器,释放资源

别忘收尾,把浏览器会话关掉:

remDr$close()
driver$server$stop()

几个小提醒

  • 选择器要灵活调整:Google的页面结构可能会变,遇到找不到按钮的情况,就用浏览器开发者工具重新找对应的CSS或XPath。
  • 反爬要注意:Google会检测自动化操作,必要时可以多加点等待时间,或者模拟滚动页面,避免被限制。

内容的提问来源于stack exchange,提问作者Varun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:12:30