sql >> Base de Datos >  >> RDS >> Mysql

Acceso a una tabla específica en la etiqueta html

Parece que el problema con el código de alecxe es que devuelve una tabla que es hermana directa de h2, pero la que desea está dentro de un div (que es hermana de h2). Esto funcionó para mí:

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)