我想提取this page上的所有元素,但它只提取第一个元素。 xpath表达式应该如何?
def parse(self, response):
for sel in response.xpath("//*[@id='liste']"):
lianjia = lianjiaItem()
lianjia['name_of_community'] = sel.xpath("div[1]/div[1]/h2/a/text()").extract()
lianjia['Antragsteller'] = sel.xpath("div[1]/div[2]/div[1]/span[2]/text()").extract()
yield lianjia
答案 0 :(得分:0)
那是因为只有一个元素id
等于'liste'。您需要迭代遍历代表单个数据行的元素,并从每一行中提取所有需要的信息,例如:
for sel in response.xpath("//*[@id='liste']/div[contains(@class,'eintrag')]"):
lianjia = lianjiaItem()
lianjia['name_of_community'] = sel.xpath("div[@class='results']/h2/a/text()").extract()
lianjia['Antragsteller'] = sel.xpath(".//div[span='Sprecher']/span[2]/text()").extract()
yield lianjia