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

如何从Meta标签抓取指定属性值?CBDC Tracker爬取问题

问题分析与解决方法

你的代码存在以下问题:

  • 使用soup.find_all('meta')会获取页面所有meta标签,自然得到大量无关属性
  • soup.attrs={"content": "twitter:title"}是错误操作,这是修改soup对象的属性,和提取目标内容无关
  • 依赖索引res[6]获取目标标签不稳定,网站结构变化后索引会失效

正确代码实现

要精准提取"Central Bank Digital Currency (CBDC) Tracker",可以通过定位特定属性的meta标签,或者直接提取网页title标签,两种方法如下:

import requests
from bs4 import BeautifulSoup

URL = "https://cbdctracker.org/"

response = requests.get(URL)
# 确保编码正确,避免乱码
response.encoding = response.apparent_encoding
soup = BeautifulSoup(response.text, "html.parser")

# 方法1:提取twitter:title对应的meta标签内容
target_meta = soup.find('meta', property='twitter:title')
if target_meta:
    cbdc_title = target_meta['content']
    print(cbdc_title)

# 方法2:直接提取网页title标签文本(更简洁)
# if soup.title:
#     cbdc_title = soup.title.string
#     print(cbdc_title)

代码说明

  • 使用soup.find()配合property='twitter:title'直接定位目标meta标签,避免获取大量无关内容
  • 提取标签的content属性即可得到目标文本
  • 额外处理了编码问题,避免出现乱码情况
  • 加入判断确保标签存在时再提取,防止报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:20:20