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

如何在R或Python中获取原始HTML元素?用BeautifulSoup/rvest实现

获取目标元素完整HTML代码的实现方案

Python + BeautifulSoup

先确保安装所需库:

pip install requests beautifulsoup4

代码示例:

import requests
from bs4 import BeautifulSoup

url = "https://www.amazon.com/Lexani-LXUHP-207-All-Season-Radial-Tire-245/dp/B07FFH8F9V/"

# 模拟浏览器请求头,规避基础反爬
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"
}

response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding

soup = BeautifulSoup(response.text, "html.parser")
target_element = soup.find("span", id="productTitle")

if target_element:
    # prettify()输出格式化后的HTML,str()输出紧凑原始格式
    full_html = target_element.prettify()
    print(full_html)
else:
    print("未找到目标元素")

R + rvest

先安装所需库:

install.packages(c("httr", "rvest"))

代码示例:

library(httr)
library(rvest)

url <- "https://www.amazon.com/Lexani-LXUHP-207-All-Season-Radial-Tire-245/dp/B07FFH8F9V/"

headers <- 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"
)

response <- GET(url, headers)
page <- read_html(response)

target_element <- html_element(page, css = "#productTitle")

if (!is.na(target_element)) {
  full_html <- as.character(target_element)
  cat(full_html)
} else {
  cat("未找到目标元素")
}

注意事项

  • Amazon存在反爬机制,若请求被拦截,可尝试更换User-Agent或补充Accept-Language等请求头字段
  • 页面结构可能随平台更新变化,若定位失败需重新确认元素选择器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:55:43