在用scrapy编写爬虫时,得到了空格。不知道怎么去除。
我想抓取博客园it新闻的summary。网址:https://news.cnblog.com
打开scrapy shell "https://news.cnblog.com" 进行测试,
原先的写法:
response.xpath('div[@class="entry_summary"]/text()').extract_first()
得到了'/n '
通过百度搜索,用normalize-space也不行
用string()可以去除空行,但是只抓取了第一条summary。
有没有大神帮帮忙怎么解决?
import scrapy
class NewsSpider(scrapy.Spider):
name = "newss"
start_urls = ['https://news.cnblogs.com/']
# MAX_DOWNLOAD_NUMB = 100
def parse(self, response):
for news in response.css('div.news_block'):
title = news.css('h2.news_entry a::text').extract_first()
summary = news.xpath('string(//div[@class="entry_summary"])').extract_first()
time = news.css('span.gray::text').extract_first()
yield {
'title':title,
'summary':summary,
'time':time,
}
next_url = response.css('div.pager a:last-of-type::attr(href)').extract_first()
if next_url:
next_url = response.urljoin(next_url)
yield scrapy.Request(next_url,callback=self.parse)