第一次请求成功,第二次变成get请求:
为了找到原因,在请求成功时用日志记录下request
原因:
使用scrapy.FromRequest()方法时,
如果formdata设置为{}即没有post body,则会变为get请求,
只有当不为空字典时才会变为POST请求,因此无post数据时,应该使用scrapy.Request(url,method='POST')
https://blog.csdn.net/mrbone11/article/details/100583883
我的奇葩原因:
formdata=self.formdata.update(date=before_day.strftime('%Y-%m-%d'))
测试:
d = dict(a=1)
c = d.update(b=2)
print(c)
None
d
{'a': 1, 'b': 2}
字典更新后为空,我给忘了,就这样一个小时时间刻苦的排了这样一个错
在此,总结一个写代码习惯:连续一串逻辑的代码尽量少些,一来后期读起来费劲,二来容易出bug。记住一个原则,一个函数干一件事。