gpt4 book ai didi

python - Scrapy 蜘蛛爬行 0 页

转载 作者:行者123 更新时间:2023-12-01 03:35:20 25 4
gpt4 key购买 nike

我正在尝试使用 Scrapy 从网站中提取 json 数据,但我遇到了一些问题,比如当我运行我的蜘蛛时,没有给出错误并说爬行了 0 个页面。我还使用命令将输出存储到 json 文件以查看输出。

以下代码是我的蜘蛛:

import scrapy

class WineSpider(scrapy.Spider):
name = "SpidyWine"
i = 0
url = 'https://maiscarrinho.com/api/search?q=vinho&pageNumber=%s&pageSize=10'
start_urls = [url % 1]

def parse(self, response):
data = json.loads(response.body)
for item in data['results']:
yield {
'Image': item.get('image')
}
if data['Image']:
i = i + 1
yield scrapy.Request(self.url % i, callback=self.parse)

我的元素类别:

import scrapy

class MaiscarrinhoItem(scrapy.Item):

image = scrapy.Field()
price = scrapy.Field()
supermarket = scrapy.Field()
promotion = scrapy.Field()
wineName = scrapy.Field()
brand = scrapy.Field()

目前,我只是使用蜘蛛中的图像字段来让事情变得更容易。另外,当我在蜘蛛中编写 if 语句时,我的想法是“处理”无限的滚动,当 json api 有“图像”时意味着该页面有内容。

Output in Console

提前致谢

最佳答案

除了一个很小的错误之外,你一切都做对了。

包含图像的字段名称是 Image 而不是 image

尝试:

yield {
'Image': item.get('Image')
}

settings.py 文件中的 ITEM_PIPELINES 可能也有问题

Working with python requests

Works even with scrapy:

关于python - Scrapy 蜘蛛爬行 0 页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com