В данном репозитории представлен парсинг сайта fix-price.com через framework Scrapy, в котором присутствует динамическая загрузка цен, маркетинговых тэгов, наличии товаров в магазинах (отображение через Java Script).
- Scrapy - это фреймворк для парсинга веб-страниц, который работает с HTML и XML. Он не выполняет JavaScript, поскольку Scrapy не является браузером и не обладает функциональностью для интерпретации и выполнения JavaScript.
- Многие современные веб-сайты используют динамическую загрузку данных через JavaScript, что означает, что содержимое страницы может изменяться или дополняться после загрузки. В таких случаях Scrapy может иметь ограничения в получении всех данных на странице, если они генерируются с помощью JavaScript.
Два пункта выше говорят нам о том, что мы не можем через Scrapy "спарсить" цену и тд., так как они являются динамически отображаемыми
*На данных скринах видно, что данные, такие как цена, отображаются динамически и мы не сможем спарсить их через scrapy
Мое решение:
1) Использование библиотеки Puppeteer или Playwrith (асинхронные библиотеки для парсинга с взаимодействием с браузером на выбор).
2) Использование Java Script запросов на страницу через fetch (Доступно в Puppeteer или Playwrith).
3) Запуск 3+ потоков через 1 браузер путем перебора ссылок на товары.
1)Установите requirements.txt >> pip install -r requirements.txt
2) Перейдите C:\Users\User\PycharmProjects\ScrapyParsProject\scrapypars_fixprice\scrapypars_fixprice\spiders
3) Введите команду >> scrapy crawl second_spiders -O second.json
4) Ожидайте парсинга 3 категорий, они будут представлены в second.json