Python – Extract string from website with Beautifulsoup

Tags: ,



I would like to extract a string from a HTML source with only beautifulsoup. I am trying to extract: “1 van de maximaal 3 actieve reacties” from the following HTML:

<span class="titel ng-scope" translate="ReactiesTitel-Titel-actieve" translate-values="getTranslationValues()">1 van de maximaal 3 actieve reacties</span>

My current code retrieves the entire span class, but I cannot find out how I can only extract the string, without the use of .split or some sort of string manipulation.

Current code:

html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
x = soup.find('span', {'class':'titel ng-scope'})
print(x)

Answer

from bs4 import BeautifulSoup

If you have:

html = '<span class="titel ng-scope" translate="ReactiesTitel-Titel-actieve" translate-values="getTranslationValues()">1 van de maximaal 3 actieve reacties</span>'
soup = BeautifulSoup(html, 'html.parser')

You can get 1 van de maximaal 3 actieve reacties by:

soup.text

A similar thread, where I got the idea from is: How to get text from span tag in BeautifulSoup.



Source: stackoverflow