我可以使用scrapy Post请求而无需回调吗?

时间:2017-09-17 07:29:41

标签: scrapy

我需要更新使用redio按钮的网站上的位置。这可以通过简单的Post请求来完成。问题是该请求的输出是

window.location='http://store.intcomex.com/en-XCL/Products/Categories?r=True';

由于它不是有效的URL,Scrapy会将其重定向到PageNotFound并关闭蜘蛛。

    2017-09-17 09:57:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https:
//store.intcomex.com/en-XCL/ServiceClient/PageNotFound> from <POST https://store.intcomex.com/en-XC
L//User/SetNewLocation>

这是我的代码:

def after_login(self, response):
        # inspect_response(response, self)
        url = "https://store.intcomex.com/en-XCL//User/SetNewLocation"
        data={"id":"xclf1"
              }
        yield scrapy.FormRequest(url, formdata=data, callback = self.location)
        # inspect_response(response, self)

    def location(self, response):

        yield scrapy.Request(url = 'http://store.intcomex.com/en-XCL/Products/Categories?r=True', callback = self.categories)

问题是如何在执行更改位置的Post请求后将scrapy重定向到有效的URL?是否有一些参数表明目标网址或我可以在没有回调的情况下执行它,而yiel正确的网址在下一行? 感谢。

0 个答案:

没有答案