gpt4 book ai didi

python - 如何使用 Scrapy 抓取亚马逊搜索的所有结果?

转载 作者:行者123 更新时间:2023-11-27 23:25:44 26 4
gpt4 key购买 nike

我正在尝试从亚马逊抓取有关衬衫的信息。我的蜘蛛目前接受关键字列表并使用它们在亚马逊上执行搜索。对于每个搜索页面,我调用解析函数。我想获取每个结果项并使用 scrapy 的“reponse.follow(...)”方法进一步检查它们。

我目前正在尝试使用“response.css('.s-result-item')”来获取所有结果。我也尝试过使用“response.css('.sg-col-inner')。无论哪种方式,它都会得到一些结果但不是全部,有时每页只会得到两个或三个。如果我添加.extract() 到它完全失败的语句。这是我的解析方法:

def parse(self, response):
print("========== starting parse ===========")
print(response.text)
all_containers = response.css(".s-result-item")
for shirts in all_containers:
next_page = shirts.css('.a-link-normal::attr(href)').extract_first()
if next_page is not None:
if "https://www.amazon.com" not in next_page:
next_page = "https://www.amazon.com" + next_page
yield response.follow('http://api.scraperapi.com/?api_key=mykey&url=' + next_page, callback=self.parse_dir_contents)

second_page = response.css('li.a-last a::attr(href)').get()
if second_page is not None and AmazonSpiderSpider.page_number < 3:
AmazonSpiderSpider.page_number += 1
yield response.follow('http://api.scraperapi.com/?api_key=mykey&url='+ second_page, callback=self.parse)
else:
AmazonSpiderSpider.current_keyword = AmazonSpiderSpider.current_keyword + 1

我是 Python 和 Scrapy 的新手,我不知道我是否应该使用 reponse.follow 或 scrapy.Request,或者这是否会产生影响。有什么想法吗?

最佳答案

我已经完成了这个使用:

对于 response.css("h2.a-size-mini a").xpath("@href").extract() 中的下一页:

关于python - 如何使用 Scrapy 抓取亚马逊搜索的所有结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57793770/

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