@ToxaDHD

Почему код страницы, полученный через get запрос библиотеки requests, отличается от кода из браузера?

Предположим, что я хочу пропарсить главную страницу Ютуба. Для получения html-кода главной страницы я использую такой код:
import requests

url = 'https://www.youtube.com/'

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"
    }

req = requests.get(url=url, headers=headers)
src = req.text

with open('youtube.html', 'w', encoding='utf-8') as file:
    file.write(src)

В результате я получаю файл в котором есть код, но код он далеко не тот, что я вижу, когда я нажимаю на "Посмотреть код" в браузере.
Мне бы хотелось понять почему в файле другой код и как получить тот код, который виден через браузер.
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
@AntVlad
Это потому что содержимое страницы подгружается динамически. Надо работать через эмулятор браузера. Например, Selenium.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI
Потому, что youtube.com это SPA
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы