(Aug-23-2019, 11:24 AM)snippsat Wrote: First you most always tell what parser BS should use,herehtml.parser
which comes with Python.
Can not search as you try to do with{'Shares outstanding'}
.
Here a example.
from bs4 import BeautifulSoup html = '''\ <div class="card-body"> <div class="table-responsive"> <table class="table table__group table-sm table-hover"> <tr> <td>Trading currency</td> <td><strong>EUR</strong></td> </tr> <tr> <td>Price multiplier</td> <td><strong>1</strong></td> </tr> <tr> <td>Quantity notation</td> <td><strong>Number of units</strong></td> </tr> <tr> <td>Shares outstanding</td> <td><strong>872,308,162</strong></td> </tr> <tr> <td>Trading group</td> <td><strong>P0</strong></td> </tr> <tr> <td>Trading type</td> <td><strong>Continuous</strong></td> </tr><div class="g-recaptcha" data-sitekey="VALUE_TO_RETURN"></div>''' soup = BeautifulSoup(html, 'html.parser') table = soup.find('table', class_="table table__group table-sm table-hover") price = table.find_all('strong')[3] print(f'The price is {price.text}')
Output:The price is 872,308,162
Thanks. I am not sure to fully understand why it is not possible to look for the "Shares outstanding", but the solution provided works great.
Cheers