Có vẻ như vấn đề với mã của alecxe là nó trả về một bảng là anh chị em trực tiếp của h2, nhưng bảng bạn muốn thực sự nằm trong một div (là anh chị em của h2). Điều này đã làm việc cho tôi:
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)