Ответы пользователя по тегу Selenium
  • Как догрузить необходимые для парсинга JS элементы с сайта?

    Страница сайта скорее всего генерируется автоматически при помощи JS, сами скрипты тянут данные отсюда, ну а дальше скрипт JS парсит полученный словарь и динамически заполняет блоки нужными полями.

    Частично что выдает результатом такой запрос

    {
      "state":0,
      "data":
        {
          "products":
            [
              {"id":6583968,"root":5214366,"kindId":0,"subjectId":436,"subjectParentId":49,"name":"Спрей","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":85100,"salePriceU":64600,"pics":8,"rating":5,"feedbacks":32767,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":23181493}],"diffPrice":false},
              {"id":3861036,"root":3198966,"kindId":0,"subjectId":358,"subjectParentId":49,"name":"Шампунь","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":111400,"salePriceU":84600,"pics":8,"rating":4,"feedbacks":3586,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":14625839}],"diffPrice":false},
              {"id":7052045,"root":5547739,"kindId":0,"subjectId":372,"subjectParentId":49,"name":"Сыворотка","brand":"d'Alba","brandId":26057,"siteBrandId":36057,"sale":25,"priceU":370000,"salePriceU":277500,"pics":15,"rating":4,"feedbacks":2175,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":24472815}],"diffPrice":false},
              {"id":3860934,"root":3198957,"kindId":0,"subjectId":364,"subjectParentId":49,"name":"Флюид","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":98400,"salePriceU":74700,"pics":8,"rating":5,"feedbacks":6549,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":14625737}],"diffPrice":false}
              ]
        }
    }



    Заголовки запроса

    User-Agent: Любой UA браузера
    Accept: */*
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate, br
    Origin: https://www.wildberries.ru
    Connection: keep-alive
    Referer: https://www.wildberries.ru/
    Sec-Fetch-Dest: empty
    Sec-Fetch-Mode: cors
    Sec-Fetch-Site: cross-site



    А вообще, вкладка "сеть" инспектора кода, очень полезная вещь. Особенно когда работаешь с парсингом страниц.
    Делаешь GET запрос по приложенной ссылке с указанными заголовками. Получаешь в формате json ответ. Далее просто в циклах перебираешь элементы и берешь нужные тебе данные. Касаемо ссылки часть где передаются id товаров - получение этих id лучше тоже автоматизировать и подмешивать полученный результат в адрес.
    И не забывай, если часто с одного и того же IP-адреса будут лететь запросы в сторону сайта или API, то скорее всего попадешь в бан-лист сайта.
    Ответ написан
    Комментировать