Mysql
 sql >> Database >  >> RDS >> Mysql

Accesso a una tabella specifica nel tag html

Sembra che il problema con il codice di alecxe sia che restituisce una tabella che è un fratello diretto di h2, ma quello che vuoi è in realtà all'interno di un div (che è il fratello di h2). Questo ha funzionato per me:

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)