Вы правы, весьма вероятно, что контент динамически загружается с использованием javascript. Что-то requests
есть агности c о. Более того, многим веб-сайтам не нравится, когда их отбрасывают, и они используют средства защиты для смягчения скребков. Лучший способ действий - найти API, предоставляемый сайтом для удовлетворения ваших требований.
В противном случае у вас есть в основном два варианта.
Простой - просто нужно javascript
В простейшем сценарии, когда на сайте не используются сложные методы борьбы с веб-обработкой, вы можете просто использовать браузер без головы, который интерпретирует javascript, среди прочего. selenium
является популярным инструментом выбора.
Менее просто - обнаружение уклонения
В случае, если они попытаются обнаружить ботов и предотвратить их очистку сайта, вам необходимо выяснить, как они делают это и уклоняются от своих методов. Для этого не существует универсального решения, требующего времени и терпения. Самое простое уклонение - это просто белый список известных строк User-Agent из заголовка запроса. Может быть, даже так просто, как просто регулировать скорость. Тогда вам будет достаточно вашего дополнения к полям заголовка.
Гораздо более популярными являются сильные обнаружения ботов, которые запрашивают у вашего «браузера» его разрешение, пытаются воспроизвести звук через него или пытаются выполнить функцию, известную безголовому браузеру, такую как selenium
, как известно, имеют. Браузеры Healdess не могут этого избежать, и вам придется обходить их.
Вы можете просматривать сетевые запросы, которые выполняет ваш браузер (на панели разработчика. По умолчанию F12 в Firefox), или потратить немного больше времени на изучение инструмента, более приспособленного для работы, такого как Zap. Proxy . Последний может MiTM ваши запросы и нюхать ваш собственный сетевой трафик c. Это вы можете использовать для "сравнения" traffi c, когда сделан запрос le git (фактический браузер) против вашего скрипта.
Удачи!