Я использую Beautifulsoup для анализа HTML-файла. Однако некоторые теги отсутствуют методом find_all (). Ссылка html: YARN-8569
htmlfile snapshot.jpg
Код здесь:
for tag in soup.find_all('div', class_='js-diff-progressive-container'):
print 1
for div in tag.find_all('div'):
id = div.get('id')
if id:
id = id.split('-')
print id
if id[0] == 'diff':
div2 = div.find_all('div')
class_div = div2[0]
if class_div.get('data-path'):
changed_class.append(class_div.get('data-path'))
Однако я могу открыть только первый тег div с классом 'js-diff -gressive-container' и получить его дочерний тег. Для второго я получу разработчика, чье имя класса 'js-diff -gressive-retry' (я не могу найти это в html-файле). Кроме того, я не могу получить его дочерние теги.
Выход
output.jpg
Я использую lxml в качестве моего htmlparser (это ответ, предложенный другими, но он все еще не работает)