How to get text following a table/span with BeautifulSoup and Python?

Home / Uncategorized / How to get text following a table/span with BeautifulSoup and Python?

Question:
I need to get the text 2,585 shown in the screenshot below. I very new to coding, but this is what i have so far:import urllib2
from bs4 import BeautifulSoup

url= ‘insertURL’
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data, ‘html.parser’)
span = soup.find(‘span’, id=’d21475972e793-wk-Fact -8D34B98C76EF518C788A2177E5B18DB0′)
print (span.text)

Any info is helpful!! Thanks.

Website HTML


Answer:
3 things, your using requests not urllib2. Your selecting XML with namespaces so you need to use xml as the parser. The element you want is not span it is ix:nonFraction. Here is a working example using another web-page (you just need to point it at your page and use the commented line).
# Using requests no need for urllib2.
import requests
from bs4 import BeautifulSoup

# Using this page as an example.
url= ‘https://www.sec.gov/Archives/edgar/data/27904/000002790417000004/0000027904-17-000004.txt’
r = requests.get(url)
data = r.text
# use xml as the parser.
soup = BeautifulSoup(data, ‘xml’)
ix = soup.find(‘ix:nonFraction’, id="Fact-7365D69E1478B0A952B8159A2E39B9D8-wk-Fact-7365D69E1478B0A952B8159A2E39B9D8")
# Your original code for your page.
# ix = soup.find(‘ix:nonFraction’, id=’d21475972e793-wk-Fact-8D34B98C76EF518C788A2177E5B18DB0′)
print (ix.text)
Read more

Leave a Reply

Your email address will not be published. Required fields are marked *