使用python scrapy发送请求有效载荷

问题描述:

我想抓取一个网站,在那里我可以找到url有一个post请求与有效载荷参数如下。我不知道如何将它制作成有效载荷字典并以formdata发送。下面的所有代码都是在带有有效负载的请求下,我如何在formdata中发送这个?使用python scrapy发送请求有效载荷

------WebKitFormBoundaryj9yKl83Zu7ki71zE 
    Content-Disposition: form-data; name="textquery" 

    852432-B21 
    ------WebKitFormBoundaryj9yKl83Zu7ki71zE-- 

如何格式化,并发送这个使用python-scrapy?

你应该适当的头将其作为原始请求体:

body = '''--WebKitFormBoundaryj9yKl83Zu7ki71zE 
Content-Disposition: form-data; name="textquery" 

852432-B21 
--WebKitFormBoundaryj9yKl83Zu7ki71zE-- 
''' 

yield Request(url, method='POST', body=body, 
       headers={'Content-Type': 'multipart/form-data; boundary=WebKitFormBoundaryj9yKl83Zu7ki71zE'}) 
+0

看起来是正确的,但它没有工作,但我想原因是边界值。我不理解“边界”价值背后的概念。你能详细说明一下吗? –

+0

概念是相应的RFC http://www.faqs.org/rfcs/rfc1867.html我修改了答案。 – mizhgun

+0

不,没有工作!我得到500内部服务器错误。边界值如何分配以及如何获取它,有没有办法? –