I am trying to use python and beautiful soup to extract the content part of the tags below:
&l
A way I like to solve this is as follows:
(Is neater when using with lists of properties to look up...)
title = soup.find("meta", {"property":"og:title"})
url = soup.find("meta", {"property":"og:url"})
# Using same method as above answer
title = title["content"] if title else None
url = url["content"] if url else None
Provide the meta
tag name as the first argument to find()
. Then, use keyword arguments to check the specific attributes:
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")
The if
/else
checks here would be optional if you know that the title and url meta properties would always be present.
You could grab the content inside the meta tag with gazpacho:
from gazpacho import Soup
html = """\
<meta property="og:title" content="Super Fun Event 1" />
<meta property="og:url" content="http://superfunevents.com/events/super-fun-event-1/" />
"""
soup = Soup(html)
soup.find("meta", {"property": "og:title"}).attrs['content']
Which would output:
'Super Fun Event 1'
try this :
soup = BeautifulSoup(webpage)
for tag in soup.find_all("meta"):
if tag.get("property", None) == "og:title":
print tag.get("content", None)
elif tag.get("property", None) == "og:url":
print tag.get("content", None)