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

如何用R语言httr包模拟点击按钮抓取随机星球名称?

无需RSelenium的解决方案

你可以直接模拟"generate"按钮触发的POST请求来获取生成的行星名称,代码如下:

library(httr)
library(rvest)

url <- "https://letsmakeagame.net/tools/PlanetNameGenerator/"

# 发送触发生成逻辑的POST请求
res <- POST(
  url,
  body = list("EntryPoint.generate()" = "true"),
  encode = "form",
  add_headers(
    "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  )
)

# 解析返回的页面提取行星名称
generated_page <- content(res, as = "html")
planet_name <- generated_page %>%
  html_node("#title") %>%
  html_text(trim = TRUE)

print(planet_name)

关键说明:

  • 你之前的代码仅GET了初始页面,此时行星名称还未生成,所以无法提取到内容
  • 通过浏览器开发者工具的Network面板可观察到,点击"generate"按钮时,页面会发送一个携带EntryPoint.generate()=true参数的POST请求到原URL
  • 发送该POST请求后,后端会生成随机行星名称并返回包含该名称的HTML页面,此时即可用rvest提取目标元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:15:33