首页 文章

beautifulsoup html解析器标签外的单词

提问于
浏览
0

我试图使用 beautifulsoup html解析器解析内部和外部标签中的一些文本,但我得到奇怪的格式,特别是在任何标签之外的单词 . 文本在字典中,看起来像这样:

([('<tag1>London</tag1>in<tag2>UK</tag2>', 'Locations')])

 for key, value in s.iteritems():
     soup = BeautifulSoup(key, 'html.parser')
     print soup.text

 >LondoninUK

但是我注意到,如果我在 in 之前和之后引入一个空格,例如
<tag1>London</tag1> in <tag2>UK</tag2>, Locations 它正确解析 London in UK 如何纠正这个问题,而不必在标签之外的单词之间手动添加空格?

1 回答

  • 0

    试试这个:

    from BeautifulSoup import BeautifulSoup
    
    for key, value in s.iteritems():
        soup = BeautifulSoup(key)
        print soup.getText(' ')
    

    添加执行:

    >>> s = '<tag1>London</tag1> in <tag2>UK</tag2>'
    >>> soup = BeautifulSoup(s)
    >>> soup.getText(' ')
    u'London in UK'
    >>> s = '<tag1>London</tag1>in<tag2>UK</tag2>'
    >>> soup = BeautifulSoup(s)
    >>> soup.getText(' ')
    u'London in UK'
    >>>
    

    它在哪里添加空格?

相关问题