Scrapy - response.xpath将项目分开

时间:2016-03-02 09:24:46

标签: python web-scraping scrapy

我正在尝试抓取第一页上有多个博客条目的网页 到目前为止,这是我的代码:

for rel in response.xpath('//*[@id="content"]/div[*]/div/comment()[2]'):
    item = Example()
    item['title'] = rel.xpath('//*[@id="content"]/div[*]/div/div/input/@value').extract()
    item['link'] = rel.xpath('//*[@id="content"]/div[*]/div/div/span[4]/a/@href').extract()
    yield item

问题是,如果我使用"*",我会收到一个链接和一个标题,其中包含所有条目。
但我希望每个条目都有一个标题和链接 我是Python和scrapy的新手,并且不知道如何重新获得单个条目 第一个条目以"2"开头,下一个条目以+3开头,直至结束于29.(2,5,8 .... 29)

1 个答案:

答案 0 :(得分:0)

让我建议更明确的XPath。类似的东西应该更接近你的目标:

for rel in response.xpath('//div[@class="beschreibung"]'):
    item['title'] = rel.xpath(".//strong[contains(text(),"Release")]/following-sibling::*[1]/@value").extract()
    item['link'] = rel.xpath('.//span[@style="display:inline;"]//a[contains(text(),"Share")]/@href').extract()
    yield item