Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zugriff auf eine bestimmte Tabelle im HTML-Tag

Es sieht so aus, als ob das Problem mit dem Code von alecxe darin besteht, dass er eine Tabelle zurückgibt, die ein direktes Geschwister von h2 ist, aber die gewünschte Tabelle befindet sich tatsächlich in einem div (das das Geschwister von h2 ist). Das hat bei mir funktioniert:

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)