首页 > 解决方案 > Scrapy FormRequest 不做 post 请求

问题描述

我不想要这个

return [FormRequest.from_response(response,

因为登录表单没有<form>标签

所以我尝试了:

return scrapy.FormRequest(url="...",
                    formdata={},
                    callback=self.after_post)


return [FormRequest(url="...",
                    formdata={},
                    callback=self.after_post)]


return scrapy.http.Request(url="...",
            method='POST',
            headers={'Content-Type':'application/json'},
            body=json.dumps(postData),
            callback=self.after_post)

(参考:https ://docs.scrapy.org/en/latest/topics/request-response.html#using-formrequest-to-send-data-via-http-post )

但是似乎scrapy不做POST请求并且代码没有转到after_post

2020-04-07 10:43:03 [scrapy.core.engine] INFO: Closing spider (finished)

如果我在这里做错了什么,谁能告诉我。

谢谢你。

标签: scrapy

解决方案


我解决了。我在另一个函数中写了这篇文章

所以什么时候这样做:

def parse(self, response):
    self.do_post()

(不行)

def parse(self, response):
   return self.do_post()

(这将起作用)

不知道为什么会return导致问题。

(问题已结束)


推荐阅读