À l'aide de pandas à lire téléchargé le fichier html

Que le titre, j'ai essayé d'utiliser read_html mais me donne l'erreur suivante:

In [17]:temp = pd.read_html('C:/age0.html',flavor='lxml')
  File "<string>", line unknown
XMLSyntaxError: htmlParseStartTag: misplaced <html> tag, line 65, column 6

Qu'ai-je fait de mal?

mise à jour 01

Le code HTML contient du javascript sur le dessus et puis un tableau html. J'ai utilisé de la R afin de la traiter par l'analyse de l'html en XML paquet de me donner un dataframe. Je veux le faire en python, dois-je utiliser autre chose comme beautifulsoup avant de la donner à des pandas?

Eh bien quel est le contenu de age0.html?
pandas.pydata.org/pandas-docs/dev/generated/...: "saveur : str ou rien", contenant des chaînes de caractères Le moteur d'analyse à utiliser. ‘bs4 " et " html5lib’ sont synonymes les uns avec les autres, ils sont à la fois là pour assurer la compatibilité ascendante. La valeur par défaut d'Aucune essaie d'utiliser lxml à analyser et, si cela échoue, il retombe sur bs4 + html5lib." Ma conjecture est que le html n'est pas bien formé et que l'analyse syntaxique est un échec. essayez différentes analyseur? flavor='bs4'
juste un autre. si pas clair à partir de précieux remarque. read_html méthode peut utiliser de belles soupe comme analyseur découvrez les pandas de la documentation en lien ci-dessus. l'erreur de syntaxe me semble que si le HTML n'est pas bien formé, en utilisant un autre aprser pourrait être plus tolérant.
À l'aide de lxml pour cela (et vraiment tout code HTML mal formé) est une mauvaise idée. Vous devriez pip install beautifulsoup4 et pip install html5lib et appel read_html sans flavor argument. Ces sera beaucoup plus lente, mais je vais le prendre lent et corriger plus rapide et incorrect toute la journée. Honnêtement, nous devrions avoir jeté lxml depuis le début, mais c'est un peu trop tard pour ça.
Et vous obtenez cette erreur, car je me force à lxml d'être strict. Dans le passé lxml a chuté de données sur certains morceaux de code HTML mal formé, qui à mon humble avis est juste pas cool. Les autres libs, otoh, que de ne pas le faire et, par conséquent, ne pas faire tomber de données.

OriginalL'auteur lokheart | 2014-07-31