В настоящее время я использую beautifulsoup для очистки сайтов, я думаю, что у меня есть основы, хотя у меня нет теоретических знаний о веб-страницах, я сделаю все возможное, чтобы сформулировать свой вопрос.Можно ли очистить «динамическую веб-страницу» с помощью beautifulsoup?
То, что я имею в виду с динамической веб-страницей, является следующим: сайт, чей HTML изменяется в зависимости от действия пользователя, в моем случае его складные таблицы.
Я хочу получить данные внутри некоторого тега «div», но при загрузке страницы данные кажутся недоступными в коде html, когда вы нажимаете на таблицу, которую он расширяет, и «класс» этого «div «изменяется от чего-то вроде« что-то blabla collapsible »на« что-то blabla clapsible active », и это я могу скрестить своими знаниями.
Могу ли я получить эти данные с помощью beautifulsoup? В случае, если я не могу, я подумал о том, чтобы использовать что-то вроде селена, чтобы щелкнуть по всем таблицам, а затем загрузить html, который я мог бы очистить, есть ли более простой способ?
спасибо.
Selenium, вероятно, лучший выбор, а затем используйте 'driver.page_source' для захвата HTML. Если вам нужны более конкретные советы, было бы полезно увидеть какой-то код. –
Проблема заключается в том, что страница использует JavaScript/AJAX для загрузки данных. Если вы знаете, какой url используется 'JavaScript/AJAX' для получения данных, вы можете использовать' urllib/requests' для получения этих данных. Вы можете использовать 'DevTools' в' Chrome/Firefox', чтобы вручную найти этот URL-адрес, а затем вы можете использовать его в коде Python. Но вы должны знать HTTP, DevTools, иногда JavaScript, XPath и т. Д. BTW: Отключите JavaScript в браузере и загрузите страницу, и вы увидите, что видят urllib/запросы (и BS). – furas
Возможный дубликат [Очистить серию столов с помощью BeautifulSoup] (http://stackoverflow.com/questions/13345085/scrape-a-series-of-tables-with-beautifulsoup) – aneroid