由于在scrapy中使用scrapy.FormRequest方法去进行post请求时特别容易发生各种错误,所以我在进行scrapy的post请求时选用scrapy.Request()方法携带参数进行。
1, 一般情况下requests模块很容易解决的post请求在scrapy中却是困难重重,坑多小心崴脚
requests中post请求
2, 针对headers中的Content-Type: 'application/json',解决办法:
Content-Type: 'application/json',post构造方法
3,针对headers中的Content-Type: application/x-www-form-urlencoded
使用之前的解决办法一直没能获得想要的响应结果,网上也看到好多博客有写post参数中不能有bool值,不能有数字,尝试了很多种方法还是没能解决,无意间尝试解决了,特来分享给需要的兄弟,不喜勿喷!
1)用Fiddler抓包获取到post参数 (我正好用fiddler抓包,所以就用fiddler了!)
Fiddler抓包获取到的请求参数
2)直接将参数复制过来作为字符串传递给post
Content-Type: application/x-www-form-urlencoded中post构造