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

如何抓取与搜索页面URL相同的结果页面数据?

同URL对应搜索首页/结果页的爬取解决方案

方案1:使用带完整查询参数的GET请求

  • 手动在浏览器中执行一次目标搜索,观察地址栏URL变化,绝大多数网站的搜索会将关键词、分页、筛选条件等参数拼接在基础URL后,格式为https://目标域名/搜索路径?参数名1=参数值1&参数名2=参数值2,直接使用该完整URL作为rvest的请求地址,即可获取对应结果页内容。

方案2:模拟POST提交搜索请求

  • 若搜索后地址栏URL无变化,说明网站使用POST方式提交搜索,可按以下步骤操作:
    • 打开浏览器开发者工具的「网络」面板,筛选Fetch/XHR类型的请求
    • 执行一次搜索操作,找到提交搜索参数的对应接口,复制接口地址、请求头、请求参数
    • 使用httr::POST()函数携带对应参数发起请求,再用rvest解析返回内容即可,参考代码如下:
library(httr)
library(rvest)

# 以下参数替换为你从开发者工具中抓取的实际内容
search_res <- POST(
  url = "https://xxx.com/搜索接口地址",
  add_headers(
    "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
  ),
  body = list(
    keyword = "你的搜索关键词",
    page_num = 1
  ),
  encode = "form"
)

# 读取结果页内容
result_page <- read_html(search_res)

方案3:处理JS动态渲染场景

  • 若搜索结果由前端JavaScript动态生成,静态请求无法获取渲染后的内容,可改用RSelenium等动态爬取工具,模拟浏览器输入关键词、点击搜索按钮的操作,等待结果加载完成后再提取对应数据即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:48:03