美文网首页
Scrapy : UnicodeEncodeError: 'gb

Scrapy : UnicodeEncodeError: 'gb

作者: 朝畫夕拾 | 来源:发表于2022-01-06 15:13 被阅读0次

    在用scrapy爬取网页数据时,Selector解析网页数据时 ,  会出现如题的错误。

    response.xpath('//*[@id="pagelist"]/div/text()').extract()[0]

    这样写打印出来,是不会报错的。

    response.xpath('//*[@id="pagelist"]/div/text()')

    加上extract()就会报这样子的错。因为extract()返回选中内容的Unicode字符串。网页中如果出现 就会变成\xa0的字符就会出现如题的错误。

    如何解决呢???  上代码:

    response.xpath('//*[@id="pagelist"]/div/text()').re(r'[^\xa0]'))

    没错,就是用正则表达式去除掉\xa0即可。然后这样处理后得到的是一个[]的数组,要想得到字符串类型的数据

    "".join(response.xpath('//*[@id="pagelist"]/div/text()').re(r'[^\xa0]')).strip()

    OK了!

    相关文章

      网友评论

          本文标题:Scrapy : UnicodeEncodeError: 'gb

          本文链接:https://www.haomeiwen.com/subject/opqrcrtx.html