4
votes

I'm having difficulty getting the proper syntax to extract the value of an attribute in Beautifulsoup with HTML 5.0.

So I've isolated the occurrence of a tag in my soup using the proper syntax where there is an HTML 5 issue:

tags = soup.find_all(attrs={"data-topic":"recUpgrade"})

Taking just tags[1]:

date = tags[1].find(attrs={"data-datenews":True})

and date here is:

<span class="invisible" data-datenews="2018-05-25 06:02:19" data-idnews="2736625" id="horaCompleta"></span>

But now I want to extract the date time "2018-05-25 06:02:19". Can't get the syntax.

Insight/help please.

1
You can get attribute value from element, check out this - Max Jevachkin

1 Answers

7
votes

You can access the attrs using key-value pair

Ex:

from bs4 import BeautifulSoup
s = """<span class="invisible" data-datenews="2018-05-25 06:02:19" data-idnews="2736625" id="horaCompleta"></span>"""
soup = BeautifulSoup(s, "html.parser")
print(soup.span["data-datenews"])

Output:

2018-05-25 06:02:19