Ответ оболочки Scrapy возвращает меньше элементов, чем расширение гаджета селектора в chrome для того же класса

#python #scrapy #splash-screen #scrapy-splash #splash-js-render

Вопрос:

Я просматривал заявки на работу с портала снизу, используя scrapy. Но я получаю только 10 элементов в оболочке scrapy для класса, который показывает 15 элементов в инструментах разработчика и через гаджет селектора. Меня смущает эта разница.

Страница проверена на: https://www.waahjobs.com/s/software-developer-jobs-in-mumbai/

Класс, выбранный с помощью расширения селектора гаджета: .r-95jzfe .css-1dbjc4n .r-1pn2ns4

Количество предметов: 15 (также подсчитывается вручную).

Вход в скребковую оболочку:

шелушащаяся оболочка «https://www.waahjobs.com/s/software-developer-jobs-in-mumbai/»

obj = response.css(«.r-95jzfe .css-1dbjc4n .r-1pn2ns4») печать(len(obj))

Выход скребковой оболочки: 10

Ожидаемый результат: 15

Обновление: Обошла необходимость очистки данных, напрямую нажав на серверную часть. Полезная ссылка для преобразования запроса curl в скрап — код- https://michael-shub.github.io/curl2scrapy/

Но все еще сталкиваюсь с проблемой на некоторых сайтах даже после использования scrapy-splash.

Что я сделал:

  1. Встроенный скребок с брызгами
  2. Запустил всплеск на локальном хосте с помощью docker
  3. затем выполнил команду fetch(‘http://localhost:8050/render.html?url=https://www.hirist.com/login’) на скребковатом терминале.

Результат: просмотр(ответ) дает 404 в chrome

Ожидание: https://quotes.toscrape.com/ работает, но https://www.hirist.com это не так.

Как вы можете видеть на этом изображении, splash не может загрузить страницу. HTML также не читается. HTML Содержит правильные данные, хотя

Пожалуйста, помогите.

Комментарии:

1. waahjobs.com/s/software-developer-jobs-in-banglore Аналогичная вещь происходит и с этой ссылкой. Я получаю 10 карточек с помощью Scrapy, но на самом деле на веб-сайте есть 20 карточек.

2. Добро пожаловать в SO! Это связано с тем, что сайт использует javascript для загрузки данных. В документах scrapy есть предложения о том, как с этим справиться . Вы также найдете предложения и на этом сайте.

3. Спасибо. Я понял то же самое, просмотрев страницу как Скрап, используя представление(ответ).

4. Обновление: Я обошел необходимость очистки данных, напрямую запросив серверную часть для получения данных. Ниже приведена полезная ссылка для преобразования запроса curl в скрап-код: michael-shub.github.io/curl2scrapy Однако я все еще сталкиваюсь с проблемой на некоторых веб-сайтах даже после использования scrapy-splash. Что я сделал: 1. Интегрировал scrapy с splash 2. Запустил splash на локальном хосте с помощью docker