Откуда можно взять данные, используемые на этом сайте?

Как извлечь данные с веб-сайта, когда информация загружается динамически? Возникают сложности с определением источника откуда берутся данные, так как при обычном GET-запросе в Network в Chrome видно только запросы css, js, png, но данные не загружаются.
  • 30 июня 2024 г. 3:02
Ответы на вопрос 2
Данные на этом сайте могут быть получены из различных источников, таких как открытые API, базы данных, внешние серверы и т.д. 

Чтобы извлечь данные с веб-сайта, когда информация загружается динамически, вам может потребоваться использовать инструменты для автоматизации браузера, такие как Selenium WebDriver или Puppeteer. Эти инструменты могут помочь вам запускать браузер и взаимодействовать с веб-страницей, как если бы это делал человек. После того, как страница полностью загружена и данные отображены, вы можете извлечь нужные данные, используя селекторы HTML или XPath.

Чтобы определить, откуда сайт загружает данные, вам может потребоваться проанализировать запросы, которые отправляются при загрузке страницы. Для этого в Chrome Developer Tools перейдите на вкладку Network и перезагрузите страницу. Здесь вы увидите все запросы, которые выполняет браузер, включая запросы к API или другим серверам.

Если данные загружаются динамически при помощи JavaScript, то они могут быть получены из API, который может быть прослежен во вкладке Network. Если данные загружаются из скрытых элементов на странице, вам придется использовать инструменты для автоматизации браузера, чтобы получить доступ к этим данным.
Открываешь страницу, затем консоль разработчика F12, вкладка сеть, затем обновить страницу, затем во вкладке сеть нажимаешь кнопку "лупа" справа от "поиск url", затем вставляешь в поле поиска ресурсов снизу строку из данных, источник которых ты ищешь, например заголовок "Zentrumsnähe - Wohnen und Arbeiten auf 6 Zimmer - frisch renoviert" и получаешь две ссылки источника данных: 
https://homepagemodul.immowelt.de/list/api/list/?callback=listcallback&guid=b2436f43607c49f49b3e1135fe8f33d1&area=&eType=-1&eCat=-1&geoid=-1&livingarea=&page=1&price=&rentfactor=&room=&squareprice=&windowarea=&stype=0&_=1719720028049
https://homepagemodul.immowelt.de/list/api/list/?callback=listcallback&guid=b2436f43607c49f49b3e1135fe8f33d1&area=&eType=-1&eCat=-1&geoid=-1&livingarea=&page=1&price=&rentfactor=&room=&squareprice=&windowarea=&stype=0&_=1719720028050

Запрос нужно будет повторять максимально точно, с заголовками, и универсально это потребует реверсинжеринг кода сайта (например бакэнд может запрещать запрос разных данных с тем же хешем в url, а получение хеша - суть обфусцированного кода на javascript).
Похожие вопросы