this pageの記事を削りました。しかし、ページをスクロールするとAjax経由でロードされます。今まで私はこれを成功させるPOSTリクエストをシミュレートしようとしていました。ここに私の問題を記述するコードのスニペットがあります。ウェブページの読み込みに遅延があります
import scrapy
class eroskiSpider(scrapy.Spider):
name = "eroski"
allowed_domains = ['https://www.compraonline.com']
start_urls = [
'https://www.compraonline.grupoeroski.com/es/'
]
counter = 0
def parse(self, response):
for sel in response.xpath('//nav[@class="navmenu"]/ul/li/div/ul/li'):
cat_title = sel.xpath('a/@title')[0].extract()
href = sel.xpath('a/@href')[0].extract()
url = response.urljoin(href)
print 'Parsing category ' + cat_title
yield scrapy.Request(url, callback = self.parse_cat, dont_filter = True)
break
def parse_cat(self, response):
category = response.xpath('//head/title/text()').extract_first()
counter = 0
for sel in response.xpath('//article'):
counter = counter + 1
print 'counter is ' + str(counter)
description = sel.xpath('.//h2[contains(@class, "description_title")]/a/@title').extract_first()
print description
payload = {'pageNumber': '2', 't:zoneid': 'zoneScroll'}
yield scrapy.FormRequest(url = response.url, formdata = payload, dont_filter=True)
あなたがコードを実行する場合は、ページが最初にロードされたときに表示される同じ20の項目のために永遠にループするかを見ることができます。したがって、FormRequestでさらに記事を読み込むという私の意図は間違っています。何が間違っているかについてのアイデア?
どのような治療のバージョンを使用していますか? – gerosalesc