Информация об адресе создается с использованием javascript, поэтому вы не сможете читать информацию через HTML, не используя что-то вроде селена для автоматизации веб-браузера.
В вашем случае, однако, вся адресная информация на самом деле возвращается в виде JSON на эту страницу, поэтому все, что вам нужно сделать, это воссоздать вызов, который делает браузер, чтобы получить данные и использовать их вместо:
from urllib.request import urlopen as uReq
import json
import re
my_url = 'https://www.haart.co.uk/umbraco/api/branches/getsales/HRT'
uClient = uReq(my_url)
page_json = uClient.read()
uClient.close()
addresses = json.loads(page_json)
for address in addresses:
print(address['headline'])
print(re.sub(r'\<.*?\>', '', address['address']))
print(address['email'].strip())
print(address['telephone'])
print()
Это будет отображать адреса, начинающиеся с:
Abbots Langley Estate Agents
haart Abbots Langley,30 High Street,Abbots Langley,Hertfordshire,WD5 0AR.
abbots.langley@haart.co.uk
01923 269444
Arnold Estate Agents
Arnold haart,12 Croft Street,Arnold,Nottinghamshire,NG5 7DX.
arnold@haart.co.uk
0115 926 8877
Ashford (Kent) Estate Agents
haart Ashford (Kent),3-4 Kings Parade, High Street,Ashford, Kent, TN24 8TA.
ashfordkent@haart.co.uk
01233 620340
Это использует регулярное выражение для удаления дополнительных тегов форматирования HTML внутри адреса.
ЕслиВы используете сетевые инструменты вашего браузера, вы можете видеть все запросы, которые делает страница.Среди всего этого вы должны видеть адреса как JSON.Затем он позволяет увидеть запрос, который был сделан для получения этих данных.