首页 新闻 会员 周边 捐助

scrapy 提取文字,怎么去除换行和空格?

0
[待解决问题]

在用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)
zangyu07的主页 zangyu07 | 菜鸟二级 | 园豆:204
提问于:2020-06-27 16:01
< >
分享
所有回答(1)
0

找了很多方法,最终解决了。利用contains(.)模糊查找的方法。

可以看一下我写的文章。https://www.zangyu.me/?p=112

zangyu07 | 园豆:204 (菜鸟二级) | 2020-06-29 10:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册