suchen

Heim  >  Fragen und Antworten  >  Hauptteil

BeautifulSoup-Selektor: Wählen Sie HTML-Elemente aus, die mehrere Wörter enthalten

<p>Gibt es für mich eine Möglichkeit, BeautifulSoup zu verwenden, um den Text eines Etiketts abzurufen, das mehrere Wörter enthält? </p> <p>Wenn ich beispielsweise den folgenden HTML-Code habe: </p> <pre class="brush:php;toolbar:false;"><div> <div> <a>Hallo</a> <a>hi</a> </div> <a>Was ist los</a> <a>stackoverflow</a> </div></pre> <p>...ich möchte nur wissen<code>Hallo, was ist los</code></p>
P粉878510551P粉878510551499 Tage vor519

Antworte allen(1)Ich werde antworten

  • P粉824889650

    P粉8248896502023-08-14 13:21:33

    你绝对可以使用BeautifulSoup来提取包含多个单词的HTML标签中的文本。在你的例子中,你想要从包含多个单词内容的<a>标签中提取文本。以下是使用Python中的BeautifulSoup实现这一目标的方法。

    from bs4 import BeautifulSoup
    
    html = '''
    <div>
        <div>
            <a>hello there</a>
            <a>hi</a>
        </div>
        <a>what's up</a>
        <a>stackoverflow</a>
    </div>
    '''
    
    soup = BeautifulSoup(html, 'html.parser')
    
    target_tags = soup.find_all('a')  # 找到所有的<a>标签
    multi_word_texts = []
    
    for tag in target_tags:
        if ' ' in tag.get_text():  # 检查标签文本是否包含空格(表示多个单词)
            multi_word_texts.append(tag.get_text())
    
    result = ' '.join(multi_word_texts)
    print(result)

    Antwort
    0
  • StornierenAntwort