如何使用scrapy通过接受对话框?

如何使用scrapy通过接受对话框?,scrapy,Scrapy,我需要刮一个网站,有一个接受对话框,我需要首先通过。表格如下: 单击accept按钮,我将进入需要解析的表所在的页面。现在我有: # function to parse markup def parse(self, response): yield FormRequest(url="http://www.somedomain.com/lst_sale", method="POST",

我需要刮一个网站,有一个接受对话框,我需要首先通过。表格如下:

单击accept按钮,我将进入需要解析的表所在的页面。现在我有:

# function to parse markup
def parse(self, response):        
    yield FormRequest(url="http://www.somedomain.com/lst_sale",
                      method="POST",
                      formdata={},
                      callback=self.parse_list)


def parse_list(self, response):
    # do something...
问题是parse_list从未被调用,所以我假设表单post没有发生。有什么办法可以让它工作吗


谢谢

找到了答案。结果是我没有发送正确的值。现在可以使用:

def parse(self, response):
    yield FormRequest.from_response(
                    response, 
                    formdata={"value":"Accept"}, 
                    callback=self.after_accept)

def after_accept(self, response):
    yield Request("http://example.com?some_vars=some_values", callback=self.parse_list)

def parse_list(self, response):
    #begin scraping!

这将为我处理ASP.NET_会话ID。我在settings.py中设置了COOKIES_DEBUG=True,这表明会话确实得到了处理——这让我找到了问题的根源。希望如此。

我现在明白这是一个饼干问题。我尝试过使用yield FormRequest.from_response(response,clickdata={“value”:“Accept”},callback=self.parse_list),但这也不起作用。思想?