ऐसा लगता है कि एलेक्सी के कोड के साथ समस्या यह है कि यह एक टेबल देता है जो एच 2 का सीधा भाई है, लेकिन जिसे आप चाहते हैं वह वास्तव में एक div (जो एच 2 का भाई है) के भीतर है। इसने मेरे लिए काम किया:
import requests
from bs4 import BeautifulSoup
urls = [
'https://www.hl7.org/fhir/valueset-account-status.html',
'https://www.hl7.org/fhir/valueset-activity-reason.html',
'https://www.hl7.org/fhir/valueset-age-units.html'
]
def extract_table(url):
r = requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')
h2 = soup.find(lambda elm: elm.name == 'h2' and 'Content Logical Definition' in elm.text)
div = h2.find_next_sibling('div')
return div.find('table')
for url in urls:
print extract_table(url)