

下に記述したHTMLコードの中から『 **取得したい文字列** 』を取得するには`<LI>・<a>`ですが、  
`<LI>・<a>` も`<time>`・`<span>`等があるため、省くことができません。

教えてください。

例:

[code]

    <li><a href="XXXXXXXXXX">取得したい文字列
    <time>tt:mm</time>
    <time><ige></time>
    <span>1</span>
    <div></div>
    </a></li>
    ・
    ・
    ・
    
[/code]


CC BY-SA 4.0
2022-11-23T01:04:20.147
92384
2022-11-23T03:21:51.067
2022-11-23T03:21:51.067
3060
55506
question
python python3 beautifulsoup
BeautifulSoupで不要なタグを削除方法

[code]

    from bs4 import BeautifulSoup
    import sys
    
    html_contents = '''
    <li>
      <a href="XXXXXXXXXX">取得したい文字列
        <time>tt:mm</time>
        <time><ige></time>
        <span>1</span>
        <div></div>
      </a>
    </li>
    '''
    
    soup = BeautifulSoup(html_contents, 'html.parser')
    elm = soup.select_one('li > a[href]')
    if elm is None:
        sys.exit(1)
    
    wanted = elm.contents[0].strip()
    print(wanted)
    
    #
    # 取得したい文字列
    
[/code]


CC BY-SA 4.0
2022-11-23T01:59:11.323
92385
2022-11-23T01:59:11.323
47127
92384
answer

[code]

    from bs4 import BeautifulSoup
    
    html = '''
    <li><a href="XXXXXXXXXX">取得したい文字列
    <time>tt:mm</time>
    <time><ige></time>
    <span>1</span>
    <div></div>
    </a></li>
    '''
    
    soup = BeautifulSoup(html)
    
    a = soup.a   # アンカータグ a 要素
    strs = [s for s in a.strings]
    strs[0]
    # 取得したい文字列\n
    print(strs[0].strip())
    # 取得したい文字列
    
[/code]


CC BY-SA 4.0
2022-11-23T02:33:42.863
92386
2022-11-23T02:33:42.863
43025
92384
answer