问题
I have a text like
page.content = <body><b>Title:</b> Test title</body>
I can get the Title tag with
soup = BeautifulSoup(page.content)
record_el = soup('body')[0]
b_el = record_el.find('b',text='Title:')
but how can I get the text after the b tag? I would like to get the text after the element containing "Title:" by referring to that element, and not the body element.
回答1:
Referring to the docs you might want to use the next_sibling of your b_el:
b_el.next_sibling # contains " Test title"
"Sibling" in this context is the next node, not the next element/tag. Your element's next node is a text node, so you get the text you want.
来源:https://stackoverflow.com/questions/38754940/get-text-after-specific-tag-with-beautiful-soup