在使用 python 进行网络抓取时,是不是有任何直接的方法可以从输出中删除 \xa0 [重复]

Posted

技术标签:

【中文标题】在使用 python 进行网络抓取时,是不是有任何直接的方法可以从输出中删除 \\xa0 [重复]【英文标题】:is there any direct way to remove \xa0 from the output while web scraping using python [duplicate]在使用 python 进行网络抓取时,是否有任何直接的方法可以从输出中删除 \xa0 [重复] 【发布时间】:2020-05-16 12:44:33 【问题描述】:

代码:

date = [item.find(class_='wr-date__light').get_text() for item in items]

输出:

['31st\xa0January', '1st\xa0February', '3rd\xa0February', '4th\xa0February', '5th\xa0February', '6th\xa0February', '7th\xa0February', '8th\xa0February']

【问题讨论】:

【参考方案1】:

您可以使用字符串替换来删除字符。您可以使用map 将其应用于列表的每个元素。

date = list(map(lambda s: s.replace('\xa0', ''), date))

如果您不习惯使用lambda 表达式,您可以定义一个新函数。

def replace(text):
    return text.replace('\xa0', '')

date = list(map(replace, date))

【讨论】:

当你可以简单地写这个date = [item.find(class_='wr-date__light').get_text().replace('\xa0','') for item in items]时,为什么你需要做所有这些? \xa0 是 latin1 中的非中断空格,因此应将其替换为空格 ***.com/users/12416453/ch3ster 谢谢

以上是关于在使用 python 进行网络抓取时,是不是有任何直接的方法可以从输出中删除 \xa0 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

““ AttributeError”,使用python进行网络抓取

如何在网络抓取时继续循环

如何在 Python 中使用 *** 进行网络抓取?

怎么抓取局域网内手机数据

Python爬虫编程思想(154):使用Scrapy处理登录页面

Python爬虫编程思想(154):使用Scrapy处理登录页面