我有这个代码来抓取详细信息页面
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