如何使用Puppeteer获取HTML中meta标签的price属性content值?
获取指定meta标签的content值(Puppeteer实现)
直接修改你的代码,通过属性选择器精准定位目标<meta>标签,提取content属性值即可,完整代码如下:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless: false}) const page = await browser.newPage() // 替换为你要爬取的实际页面URL await page.goto('https://example.com', { waitUntil: 'domcontentloaded' }) const price = await page.evaluate(() => { // 定位带有itemprop="price"属性的meta标签 const priceMeta = document.querySelector('meta[itemprop="price"]'); // 存在则返回content值,否则返回null return priceMeta ? priceMeta.content : null; }) console.log('获取到的价格值:', price) await browser.close(); // 关闭浏览器进程,避免资源残留 })()
关键修改说明:
- 用
document.querySelector('meta[itemprop="price"]')替代原有的getElementsByClassName,这是精准匹配目标元素的核心选择器,直接锁定带有itemprop="price"属性的<meta>标签 - 通过
.content属性提取标签存储的价格值,这是meta标签存储内容的标准属性 - 增加空值判断,避免页面无目标元素时触发报错
- 给
page.goto添加waitUntil: 'domcontentloaded',确保页面DOM加载完成后再执行抓取,提升稳定性 - 补充
browser.close(),避免浏览器进程残留
内容的提问来源于stack exchange,提问作者VarcusH
相关产品推荐
相关产品推荐

