gpt4 book ai didi

python - 使用 BeautifulSoup 和 Python 获取元标记内容属性

转载 作者:IT老高 更新时间:2023-10-28 22:17:50 26 4
gpt4 key购买 nike

我正在尝试使用python和美汤提取下面标签的内容部分:

<meta property="og:title" content="Super Fun Event 1" />
<meta property="og:url" content="http://superfunevents.com/events/super-fun-event-1/" />

我正在让 BeautifulSoup 很好地加载页面并找到其他东西(这也从隐藏在源中的 id 标记中获取文章 id),但我不知道搜索 html 并找到的正确方法这些位,我尝试了 find 和 findAll 的变体,但无济于事。该代码目前遍历了一个 url 列表...

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#importing the libraries
from urllib import urlopen
from bs4 import BeautifulSoup

def get_data(page_no):
webpage = urlopen('http://superfunevents.com/?p=' + str(i)).read()
soup = BeautifulSoup(webpage, "lxml")
for tag in soup.find_all("article") :
id = tag.get('id')
print id
# the hard part that doesn't work - I know this example is well off the mark!
title = soup.find("og:title", "content")
print (title.get_text())
url = soup.find("og:url", "content")
print (url.get_text())
# end of problem

for i in range (1,100):
get_data(i)

如果有人能帮我整理一下以找到 og:title 和 og:content 那就太好了!

最佳答案

提供 meta 标记名称作为 find() 的第一个参数。然后,使用关键字参数检查具体属性:

title = soup.find("meta", property="og:title")
url = soup.find("meta", property="og:url")

print(title["content"] if title else "No meta title given")
print(url["content"] if url else "No meta url given")

如果您知道 title 和 url 元属性将始终存在,则此处的 if/else 检查是可选的。

关于python - 使用 BeautifulSoup 和 Python 获取元标记内容属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36768068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com