即使在处理302状态时,Scrapy也会重定向我

时间:2018-12-31 11:00:24

标签: python scrapy

我在通过亚马逊网站抓取时遇到了一些问题。当我使用(我相信)适当的设置时,我一直在没有提供任何结果的页面上被重定向(302)。

这是start_requests函数:我根据来自CSV文件的产品代码构建搜索URL:

def start_requests(self):
    input_file_products = open("file.csv", 'r', encoding="utf-8", errors="ignore")
    reader = csv.reader(input_file_products)
    for row in reader:
        if row:
            base_url = "https://www.amazon.fr/s/ref=nb_sb_noss?"
            "__mk_fr_FR=ÅMÅŽÕÑ&url=search-alias%3Daps&field-keywords="
            ean = row[0]
            absolute_url = base_url + ean
            yield scrapy.Request(
                absolute_url,
                meta={
                    'dont_redirect': True,
                    "handle_httpstatus_list": [302, 301],
                },
                callback=self.parse
            )

但是我得到这样的代码: 调试:从<302 https://www.amazon.fr/s/ref=nb_sb_noss?3538280031515>

中删除

也没有任何结果。我已经指定不要重定向为True,并按照建议处理代码302和301。

你会怎么做?

1 个答案:

答案 0 :(得分:1)

当我通过搜索栏进行搜索时,我的链接是:search link

但是从search-alias%3D到开始,它与您的不匹配。它可能会动态生成链接,请更新您的链接,然后重试。