Анализ такого рода документов довольно сложен (кажется, что документ не сгенерирован машиной, а сгенерирован вручную).
Вы можете попробовать этот пример, чтобы получить все адреса в DataFrane:
import pandas as pd
from bs4 import BeautifulSoup as soup, Tag, Comment
from urllib.request import urlopen as uReq
myurl = 'http://arhiva.zdravlje.gov.rs/showelement.php?id=8464'
#opening up connection, grabbing the page
uClient = uReq(myurl)
#put content into a variable and close connection
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, 'html.parser')
all_strongs = page_soup.select('div[align="justify"] > strong:not(:contains("нема"))')
data = []
for s in all_strongs:
out = ''
n = s.next_sibling
while n:
if isinstance(n, Tag) and n.name == 'strong' and n in all_strongs:
break
if isinstance(n, Tag) and n.name == 'div' and 'align' in n.attrs and n['align'] == 'center':
n = n.next_sibling
continue
if not isinstance(n, Comment):
out += str(n)
n = n.next_sibling
data.append( BeautifulSoup(out, 'html.parser').get_text(strip=True, separator='\n') )
df = pd.DataFrame({'Text': data})
print(df)
Печать:
Text
0 Адреса: Светог Стефана 1, Бачка Топола\nБрој т...
1 Адреса: Занатлијска 1, 24321 Мали Иђош\nБрој т...
2 Адреса: Петефи Шандора 7, 24000 Суботица\nБрој...
3 Адреса: Изворска 3, 24000 Суботица\nБрој телеф...
4 Адреса: Матије Гупца 26, 24000 Суботица\nБрој ...
.. ...
340 Адреса: Требевићка 16, 11030 Београд\nБрој тел...
341 Адреса: др Суботића 5, 11000 Београд\nБрој тел...
342 Адреса: Војводе Степе 458, 11152 Београд\nБрој...
343 Адреса: Стари град Булевар деспота Стефана 54а...
344 Адреса: 38252 Шилово\nБрој телефона:\nЗванична...
[345 rows x 1 columns]