Разбор HTML с Python без учета правильной иерархии тегов - PullRequest
0 голосов
/ 24 октября 2019

Я хотел бы проанализировать документ, который синтаксически является HTML-документом (с использованием тегов с атрибутами и т. Д.), Но структурно не соответствует правилам (например, внутри тега <div> внутри тега *1002* может быть тег<body> тег). Я также не хочу дополнительной строгости XML. К сожалению, lxml предлагает только document_fromstring(), для которого требуется корневой элемент html, а также fragment_fromstring(), что, в свою очередь, не позволяет использовать какие-либо теги html или body в необычных местах.

Как мне разобрать документ без «исправления» неправильной структуры?

1 Ответ

1 голос
/ 24 октября 2019

BeautifulSoup должен сделать это хорошо.

это будет случай:

from bs4 import BeautifulSoup
import requests

r = requests.get(url)
soup = BeautifulSoup(r.text,'html.parser')

тогда вы будете искать "суп" для того, что вы ищете.

...