【发布时间】:2020-11-05 07:34:47
【问题描述】:
这是一个完美运行的curl 命令:
curl -X POST -k -H 'X-Csrf-Token: '\'\' -i 'https://www.uber.com/api/loadSearchJobsResults?localeCode=fr-FR'
在 scrapy shell 中,请求正在重定向并显示 404 状态码:
scrapy代码
>>> fetch(scrapy.Request(url,method='POST',headers = {'x-Csrf-Token':''}))
2020-11-05 12:26:49 [scrapy.core.engine] DEBUG: Crawled (403) <POST https://www.uber.com/api/loadSearchJobsResults?localeCode=fr-FR> (referer: None)
>>> fetch(scrapy.Request(url,method='POST',headers = {'x-Csrf-Token':'x'}))
2020-11-05 12:26:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <POST https://www.uber.com/pk/ur/api/loadSearchJobsResults/?localeCode=fr-FR> from <POST https://www.uber.com/api/loadSearchJobsResults?localeCode=fr-FR>
2020-11-05 12:26:58 [scrapy.core.engine] DEBUG: Crawled (404) <POST https://www.uber.com/pk/ur/api/loadSearchJobsResults/?localeCode=fr-FR> (referer: None)
我错过了什么?
【问题讨论】:
-
可能有很多东西,例如标头(例如用户代理),令牌标头的大小写,其值(
cURL发送 2 字符字符串'',您的 Scrapy 代码发送一个空字符串)... -
@Gallaecio,感谢您的评论。您能否在答案中添加一些内容,因为我已经尝试了各种类似的方法。
标签: python api curl web-scraping scrapy