• Как корректно использовать селектор при парсинге сайта?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Вместо .messageContain copy-text напиши .messageContain .copy-text (точка у copy-text).

    Если есть несколько классов, то все они должны писаться через точку - точка означает css класс. Без точки - html тэг
    Ответ написан
    Комментировать
  • Как корректно использовать селектор при парсинге сайта?

    Vindicar
    @Vindicar
    RTFM!
    Ну если не ограничивать себя видеоуроками, а узнать, как именно работает Web, то можно догадаться до первого шага по отладке такой ситуации:
    Сохрани ответ сайта в файл и посмотри, что тебе пришло на самом деле.

    Во-первых, сайт может отдавать разные страницы боту и браузеру, особенно если запросы от них не идентичны. Более того, владелец сайта нередко заинтересован в том, чтобы обнаруживать ботов и слать им не запрашиваемую страницу, а что-то другое - чтоб неповадно парсить было.

    Во-вторых, современные сайты - это не статические странички аля 1991й год. Они зачастую битком набиты JS-скриптами, которые исполняются в среде браузера. Поэтому нередко сайт отдаёт страницу-заглушку, на которую средствами скрипта уже подгружается контент. BeautifulSoup не исполняет JS, это не его задача, а потому ты увидишь только заглушку, и больше ничего.
    Ответ написан
    3 комментария
  • Как корректно использовать селектор при парсинге сайта?

    SoreMix
    @SoreMix
    yellow
    1. el.select('.messageContain.copy-text')
    2. А авторизация и некий антиспам продуманы уже я надеюсь? requests понятия не имеет что за диалог у вас идет в браузере. Не факт что вообще вернется страница в таком виде в каком должна быть, вдруг диалоги XHR подгружаются

    Плюс, важная вещь - научиться смотреть что пришло в ответ на запрос. То что в браузере - пусть будет в браузере, это не ваша страница, ваша - содержимое r.content. Берем это содержимое, льем в файл и изучаем
    Ответ написан
    Комментировать