当我们想爬取div class=”articlebody”下p中所有文本的时候,如果这样写
item[‘body’] = (response.xpath(‘//div[@class=”articleBody”]/ptext()’).extract()[0])
会发现仅仅是第一个p中的内容,而不是所有的,此时应该利用的是for循环。
divs=response.xpath(‘//div[@class=”articleBody”]’)
body=””
for p in divs.xpath(‘.//p/text()’):
body=body+ p.extract().strip()
item[‘body’]=body