使用Scrapy破坏FormRequest

时间:2013-07-02 22:23:44

标签: python scrapy

我从一个简单的请求开始,当我收到回调时,pre_results在这种情况下,我想向表单发送x个POST请求以获取所有信息可能。当我发送请求时,它每次都发送相同的请求。

我知道网址是正确的,value是正确的。看起来for循环以某种方式破坏了请求。是否可以从FormRequest中的自定义解析方法发送多个scrapy?我已经尝试过延迟10秒,但仍然没有运气。

def pre_results(self, response):
    hxs = HtmlXPathSelector(response)
    log.msg("Refining results with number %d and url %s" % (response.meta['item']['number'], response.url), log.INFO)
    minurl = response.url.replace("results", "refine_results")
    requests = []
    for value in hxs.select('//select[@id="profile_electricity_plan_type"]/option/@value').extract():
    request = FormRequest(url=minurl,
                          formdata={'profile[electricity_plan_type]' : value}, #This value is correct
                          callback=self.step_results,
                          dont_filter=True) # To be able to send to the same URL
        request.meta['item'] = response.meta['item']
        request.meta['item']['company'] = value
        yield request

如果有人有一些意见,我非常感谢。 感谢

修改: 它发出的X请求具有相同的值,即它迭代的值的最后一个值。至少当它到达self.step_results时,它们都是一样的。

0 个答案:

没有答案