我在通过亚马逊网站抓取时遇到了一些问题。当我使用(我相信)适当的设置时,我一直在没有提供任何结果的页面上被重定向(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。
你会怎么做?
答案 0 :(得分:1)
当我通过搜索栏进行搜索时,我的链接是:search link
但是从search-alias%3D
到开始,它与您的不匹配。它可能会动态生成链接,请更新您的链接,然后重试。