gpt4 book ai didi

python - 使用 Scrapy 从文本中删除 字符

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:06 25 4
gpt4 key购买 nike

我在 Vista 64 位上使用 Python.org 版本 2.7 64 位来运行 Scrapy。我正在尝试从此网页中抓取一些文本,并设法清理了大部分文本,删除了换行符和 HTML 标记。然而,标签似乎仍然包含在输出到 Command Shell 的文本中:

u' British Grand Prix practice results ', u'

这是来自以下网页:

http://www.bbc.co.uk/sport/0/formula1/28166984上面的字符串表示指向另一个页面的超链接。我尝试使用以下正则表达式删除“u”标签,但没有成功:

body = response.xpath("//p").extract()
body2 = str(body)
body3 = re.sub(r'(\\[u]|\s){2,}', ' ', body2)

任何人都可以建议一种方法或删除这些标签吗?另外,如果可能,您是否也可以使用正则表达式来删除两个标签之间的所有内容?

谢谢

最佳答案

如 furas 所述,它仅显示编码。默认情况下,2.7x 使用 ascii,因此当字符串是 unicode 时,它​​用 u 表示。您可以使用 unicode 和 encode('utf-8') 来回切换

>>> a = 's'
>>> a
's'
>>> a = unicode('s')
>>> a
u's'
>>> a = a.encode('utf-8')
>>> a
's'

这是使用列表的方法

>>> ul = []
>>> ul.append(unicode('British Grand Prix practice results'))
>>> ul.append(unicode('some other string'))
>>> ul
[u'British Grand Prix practice results', u'some other string']
>>> l = []
>>> for s in ul:
... l.append(s.encode('utf-8'))
...
>>> l
['British Grand Prix practice results', 'some other string']
>>>

关于python - 使用 Scrapy 从文本中删除 <u> 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24588555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com