【问题标题】:Scrapy redirects me even when handling 302 status即使在处理 302 状态时,Scrapy 也会重定向我
【发布时间】:2018-12-31 11:00:23
【问题描述】:

我在亚马逊抓取时遇到了一些问题。我一直在不提供任何结果的页面上被重定向 (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
            )

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

抓取

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

你会怎么做?

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

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

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

    【讨论】:

    • 我用你的更新了,但它不起作用......但是我在通过搜索栏进行新搜索后再次更新,这次它有效!似乎每个人的链接都不一样,所以我希望其他使用该脚本的人不要被重定向
    猜你喜欢
    • 2018-04-18
    • 2020-03-16
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多