我正试着从一个网站上摘取笑话,我需要一个接一个地得到笑话:
div class="oneliner"
itemscope=""
itemtype="http://schema.org/Article">
<p>My girl always tells me "Life is about the little things", but I just hate when she talks about her Ex.</p>到目前为止,我使用xpath的结果是
.xpath('//div[@class="oneliner"]')这样我就可以提取单个条目,但是现在我想循环所有发生的事件并提取文本(在\p之间的所有内容)。为此我试过
for joke in jokes:
item['joke'] = joke.xpath('//p/text()').extract()但这给了我一次又一页的笑话,而不是一个接一个地看。有人能帮我吗?
发布于 2017-01-19 16:58:13
您可以简单地遍历笑话节点并在每次迭代中生成一个项:
def parse(self, response):
jokes = response.xpath('//div[@class="oneliner"]')
for joke in jokes:
item = dict()
item['joke'] = joke.xpath('.//p/text()').extract()
yield itemhttps://stackoverflow.com/questions/41747409
复制相似问题