Я хочу извлечь js сгенерированный код со страницы https://edadeal.ru/moskva/retailers/5ka
Я получил только этот код https://pastebin.com/vEhygn69
Но я хочу получить html -код продуктов, например
<div class="b-offer__root">
Я запустил spla sh с помощью этой команды
sudo docker run -p 8050 : 8050 scrapinghub / spla sh
Полный журнал scrapy crawl edadeal1 &>all_logs
https://pastebin.com/vyHzZNPU
Мой код
Добавлен этот код по умолчанию settings.py
ROBOTSTXT_OBEY=False
SPLASH_URL = 'http://localhost:8050'
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
edadeal1.py
import scrapy
from scrapy_splash import SplashRequest
import time
class Edadeal1Spider(scrapy.Spider):
name = 'edadeal1'
allowed_domains = ['edadeal.ru']
start_urls = ['https://edadeal.ru/moskva/retailers/5ka']
def start_requests(self):
yield SplashRequest(
url='https://edadeal.ru/moskva/retailers/5ka',
args={'wait': 20},
callback=self.parse
)
def parse(self, response):
products = response.css("div.p-retailer__offers > a::attr(href)").extract()
yield {
'data': response.text
}
Я запустил scrapy crawl edadeal -o res. json