【问题标题】:Python beautifulsoup trying to remove html tags 'span'Python beautifulsoup 试图删除 html 标签'span'
【发布时间】:2011-02-01 13:34:56
【问题描述】:

我正在尝试删除

[<span class="street-address">
            510 E Airline Way
           </span>]

我已经使用这个 clean 函数删除了&lt; &gt; 之间的那个

def clean(val):
 if type(val) is not StringType: val = str(val)
 val = re.sub(r'<.*?>', '',val) 
 val = re.sub("\s+" , " ", val)
 return val.strip()

它会产生[ 510 E Airline Way ]

我试图在“clean”函数中添加删除字符'[' 和']',基本上我只想得到"510 E Airline Way"。

有人知道我可以在clean 函数中添加什么吗?

谢谢

【问题讨论】:

标签: python regex beautifulsoup


【解决方案1】:

使用回复:

>>> import re
>>> s='[<span class="street-address">\n            510 E Airline Way\n           </span>]'
>>> re.sub(r'\[|\]|\s*<[^>]*>\s*', '', s)
'510 E Airline Way'

使用 BeautifulSoup:

>>> from BeautifulSoup import BeautifulSoup
>>> s='[<span class="street-address">\n            510 E Airline Way\n           </span>]'
>>> b = BeautifulSoup(s)
>>> b.find('span').getText()
u'510 E Airline Way'

使用 lxml:

>>> from lxml import html
>>> s='[<span class="street-address">\n            510 E Airline Way\n           </span>]'
>>> h = html.document_fromstring(s)
>>> h.cssselect('span')[0].text.strip()
'510 E Airline Way'

【讨论】:

    猜你喜欢
    • 2014-04-25
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多