Найти - Пользователи
Полная версия: BeautifulSoup парсин данных
Начало » Python для новичков » BeautifulSoup парсин данных
1
nik.iwan2017
Добрый день!
Пытаюсь получить данные широты и долготы по адресу:
https://xinit.ru/bs/250-01-6200-822902

код:
 html = requests.get('https://xinit.ru/bs/250-01-6200-822902')
soupe = BeautifulSoup(html.text, 'lxml')
poisk = soupe.find('div', class_='coords').find('dd').text

В ответ вместо 55.760024, 37.577924, получаю - {{coords.lat}}, {{coords.lon}}
Как с этим справиться, кто знает?
Заранее спасибо!
FishHook
nik.iwan2017
Как с этим справиться, кто знает?
с помощью BeautifulSoup никак, реквестом вы получаете страницу, располагающуюся по адресу https/….., но на самом деле браузер вам показывает не этот HTML, после загрузки страницы браузер выполняет подключенный к ней JavaScript, и уже после отработки всех JS скриптов, на ней появляются нужные вам циферки. То есть для того, чтобы спарсить эту страницу, вам нужно либо выполнить весь джаваскрипт на ней, либо вкурить, как она работает и получать данные из каких-то внешних сервисов, к которым наверняка эта страница обращается. Реверс-инжиниринг, это вообще дело непростое.
Striver
В ответ вместо 55.760024, 37.577924, получаю - {{coords.lat}}, {{coords.lon}}
Пара минут копания в браузере показывает, что координаты возвращаются вот по такому запросу:
https://xinit.ru/api/bs/250/01/6200/822902
Но без должной авторизации (скорее всего, через куки) этот запрос возвращает “403 Forbidden”.
Т.е. сначала надо как-то получить эти данные авторизации, потом можно пытаться делать запрос на этот адрес.
Если не делать такие запросы массово, то, возможно прокатит…
nik.iwan2017
FishHook
Спасибо! Я так понимаю, что данная проблема, возможно, решиться с помощью использование selenium, а после уже BeautifulSoup. Буду пробовать. Но мне кажется при массовых запросах это будет довольно долго.
nik.iwan2017
Striver
Большое спасибо! Сейчас попробую несколько запросов, если будет сайт как-то препятствовать, то уже запущу какой-нибудь Charles и буду смотреть как выдаются куки и тд.
ZiG
nik.iwan2017
а зачем после selenium пользоваться BeautifulSoup? Selenium очень хорошо вытаскивает инфу.
Для изучения, посоветовал бы книжку, хоть старенькую, но полезную Скрапинг веб-сайтов с помощью Python-2016 - Райан Митчелл. Там про Selenium норм написано. В инете лежит на халяву.
Kolonist
Зачем так извращаться, если есть готовая библиотека для получения всех этих данных: https://github.com/kolonist/bscoords
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB