即使没有过滤器,Scrapy也不会调用回调函数

时间:2018-02-17 18:53:34

标签: python-2.7 scrapy scrapy-spider

我有这个代码来抓取详细信息页面

yield Request(flexibleItem[self.linkAttributeName],callback=self.parseDetails,dont_filter=True  )

subURL中没有错误,因为我使用相同的方法“GET”

进行了测试

我没有得到任何错误,只是python忽略了回调函数

这是一个在服务器上工作的非常庞大的项目,因此我无法共享代码。 但这是我正在做的主要架构。 输出是: 启动请求中的 真正 OOOO

def start_requests(self):
    print "in start request"
    for url in self.start_urls:
        yield Request (url, method='GET',dont_filter=True)

def parse(self, response):
    "this method "
    jsonResponse = json.loads(response.body_as_unicode())
    flexibleItem = {}
    flexibleItem['source'] = self.Source
    flexibleItem['action'] = self.Action
    flexibleItem['category'] = self.Category
    jsonResponse = self.attributesXMLParser.correctResponse(jsonResponse)

    flexibleItem[self.linkAttributeName] = self.attributesXMLParser.getPageLink(flexibleItem[self.linkAttributeName], flexibleItem)
    meta = dict()
    meta['flexibleItem'] = flexibleItem
    if self.ParseDetailsPage=="TRUE" : "this value is from XML file"
         print "TRUE"
         yield Request(flexibleItem[self.linkAttributeName],callback=self.parseDetails,dont_filter=True)
         print "oooooo"
    else :
         yield flexibleItem

def parseDetails(self, response):
    print "in parse details "
    jsonResponse = json.loads(response.body_as_unicode())
    print jsonResponse
    flexibleItem = {}
    for key in self.Attributes:
       flexibleItem[key]= .....bla bla bla
    yield flexibleItem

0 个答案:

没有答案