Я собираю некоторую информацию с zappos.com, в частности часть страницы сведений, которая показывает, что также просматривали клиенты, просматривающие текущий элемент.
Это список одного из таких предметов: https://www.zappos.com/p/chaco-marshall-tartan-rust/product/8982802/color/725500
Дело в том, что я обнаружил, что раздел, который я очищаю, появляется сразу на некоторых элементах, а на других он появляется только после того, как я обновил страницу 2 или 3 раза.
Я использую scrapy для очистки и всплеск для рендеринга.
import scrapy
import re
from scrapy_splash import SplashRequest
class Scrapys(scrapy.Spider):
name = "sqs"
start_urls = ["https://www.zappos.com","https://www.zappos.com/marty/men-shoes/CK_XAcABAuICAgEY.zso"]
def start_requests(self):
for url in self.start_urls:
yield SplashRequest(url, self.parse,
endpoint='render.html',
args={'wait': 0.5},
)
def parse(self, response):
links = response.css("div._1Mgpu")
for link in links:
url = 'https://www.zappos.com' + link.css("a::attr(href)").extract_first()
yield SplashRequest(url, callback=self.parse_attr,
endpoint='render.html',
args={'wait': 10},
)
def parse_attr(self, response):
alsoviewimg = response.css("div._18jp0 div._3Olkk div.QDcUX div.slider div.slider-frame ul.slider-list li.slider-slide a img").extract()
Также viewimg является одним из элементов, которые я извлекаю из раздела «Клиенты, которые просматривали этот товар, также просматривали». Я протестировал извлечение этого и других элементов, все в оболочке scrapy с рендерингом заставки, чтобы получить динамический контент, и он отлично вытащил контент, однако в пауке он редко, если вообще когда-либо, получает какие-либо хиты.
Есть ли что-то, что я могу настроить, чтобы он загружал страницу пару раз, чтобы получить контент? Или что-то еще, чего мне не хватает?