Scrapy,没有错误,Spider在爬行后关闭

时间:2016-06-07 10:41:44

标签: scrapy

for restaurant in response.xpath('//div[@class="listing"]'):
		
		
		
		
		restaurantItem = RestaurantItem()
		
		restaurantItem['name'] = response.css(".title::text").extract()
		
		
		yield restaurantItem
		
		next_page = response.css(".next > a::attr('href')")
		if next_page:
		  url = response.urlJoin(next_page[0].extract())
		  yield scrapy.Request(url, self.parse)

我修正了它给我的所有错误。现在,我没有错误。爬行start_url后蜘蛛刚刚关闭。 for循环永远不会被执行。

1 个答案:

答案 0 :(得分:0)

当您尝试以这种方式查找元素时:

response.xpath('//div[@class="listing"]')

你在说我想要找到一个字面上只有"列出"作为它的班级:

<div class="listing"></div>

但是,这并不存在于DOM的任何地方,发生了以下情况:

<div class="listing someOtherClass"></div>

要选择上面的元素,您必须告诉该元素包含某个属性文本,但可以包含更多元素。在这里,像这样:

response.xpath('//div[contains(@class,"listing")]')