Mysql
 sql >> Base de données >  >> RDS >> Mysql

Accès à un tableau spécifique dans une balise html

Il semble que le problème avec le code d'alecxe est qu'il renvoie une table qui est un frère direct de h2, mais celui que vous voulez est en fait dans un div (qui est le frère de h2). Cela a fonctionné pour moi :

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)