Загрузите содержимое iframe с помощью python - PullRequest
0 голосов
/ 17 февраля 2012

Мне нужно получить содержимое iframe, используя python.

Когда веб-страница загружается, она отправляет запрос и получает содержимое iframe в ответе.Когда я использую BeautifulSoup для получения данных, он просто дает начальное пустое содержимое iframe.Возможно, к тому времени iframe еще не загружен, я получаю ответ.

Пожалуйста, помогите мне получить HTML-содержимое iframe.

спасибо ....

1 Ответ

1 голос
/ 17 февраля 2012

Сделайте первоначальный запрос. Затем получите исходный URL-адрес для iframe и выполните другой запрос для извлечения содержимого iframe. Просто проверьте, нужно ли передавать переменные с запросом.

Beautifulsoup не выполняет код, полученный из запроса. В зависимости от сложности страницы вы можете эмулировать то, что происходит, когда страница загружается в браузере (например, анализировать немного JavaScript и использовать эту информацию).

Ex.

<html>
    ...
    <script>
        $(document).ready(function() { 
            $("iframeID").src = "http://addr.com/page.html" 
        });
    </script>
    ...
    <iframe id="iframeID"/>
    ...
</html>

Получение источника для iframe в этом случае будет неудобным, но возможным. Если JavaScript делает странные и удивительные вещи, это становится сложнее. Если javascript находится в отдельном файле, вам нужно пойти и получить его.

Если что-то станет слишком сложным, посмотрите на другое решение для очистки (в котором вы запускаете весь движок JavaScript), я сам не использовал ничего более сложного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...