我正在使用scrapy向网站发出表单请求。表单需要上传一个pdf文件,我们如何在Scrapy中做到这一点。我正在尝试这样 -
FormRequest(url,callback=self.parseSearchResponse,method="POST",formdata={'filename':'abc.xyz','file':'path to file/abc.xyz'})
最佳答案
目前,Scrapy 没有内置支持上传文件。
在 RFC1867 中指定通过 HTTP 中的表单上传文件.根据规范,带有 Content-Type: multipart/form-data
的 HTTP 请求是必需的(在您的代码中是 application/x-www-form-urlencoded
)。
要使用 Scrapy 实现文件上传,您需要:
scrapy.Request
开始(而不是 FormRequest
)。 Content-Type
header 值。 另见:How does HTTP file upload work?
关于python - Scrapy上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39303851/