У меня есть большой HTML файл, который был создан с объединением нескольких HTML файлов, поэтому структура повторяется N раз <html>..</html> <html>..</html>
, например:
<html>
<head>
<body>
<TABLE>
<TABLE>
</body>
</html>
<html>
<head>
<body>
<TABLE>
<TABLE>
</body>
</html>
<html>
<head>
<body>
<TABLE>
<TABLE>
</body>
</html>
Более полный пример приведен здесь https://jsfiddle.net/28du1omt/
Я хотел бы извлечь все виды элементов из второй таблицы каждого html block
, чтобы получить это:
Я говорю все элементы, так как вторая таблица может иметь внутренние абзацы, таблицы, изображения, ссылки http и т. д. c (<p>, <img>, <tables>, etc)
<html>
<head>
</head>
<body>
<p> </p>
<p><font size="5" color="red">some text file 1</font></p>
<p><font size="4" color="purple">some text file 1</font></p>
<p> </p>
<p>some text file 2</p>
<p> </p>
<p>some text file 3</p>
</body>
</html>
Как я могу это сделать?
My текущий код просматривает все элементы таблицы в файле, но я не знаю, как извлечь только элементы из каждой второй таблицы каждого блока html.
from bs4 import BeautifulSoup
fp = open("file.html", "rb")
soup = BeautifulSoup(fp, "html5lib")
tables = soup.find_all('table')
for tbl in tables:
print(tbl.find_all())