Der folgende Code ist nicht verfügbar funktioniert, wenn Tag h2
mit dem Text "Content Logical definition"
in der HTML-Seite, wie https://www.hl7.org/fhir/valueset-account-status.htmlbearbeiten BS4 keine zurückzukehren, wenn Tabelle in einer Webseite
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')
Aber für die folgende Webseite zur Verfügung, die enthält keine h2 mit `„Content Logische Definition“, wie https://www.hl7.org/fhir/valueset-cpt-all.html gibt die folgende Fehlermeldung:
'NoneType' object has no attribute 'find_next_sibling'
wie ich den Code bearbeiten kann nicht für die Tabelle zurück, wenn es keine h2 with content logical definition
in der Webseite.
Sie könnten zum Beispiel bewegen div.find ('Tabelle') zu Variable, wie 'Tabelle = div.find ('table') 'und umschließt beide Zeilen (div über und Tabellenzuweisungen) mit try-catch-Block, gibt die Tabelle zurück oder None im Falle der AttributeError-Ausnahme. – JustMe
@justMe, vielen Dank! Wenn es Ihnen nichts ausmacht, würden Sie bitte den Code aufschreiben, den Sie erklärt haben? Danke noch einmal ! – Mary
Alecxe-Code ist nur das :) – JustMe