1
我的代碼。我想匹配我的標題和我的字幕作爲2個不同的對象:BeautifulSoup得到H2文字不類
print title
>> My title
print subtitle
>> My subtitle
任何幫助嗎?
我的代碼。我想匹配我的標題和我的字幕作爲2個不同的對象:BeautifulSoup得到H2文字不類
print title
>> My title
print subtitle
>> My subtitle
任何幫助嗎?
一種不使用class屬性的方法是:
h2 = soup.find('div', id="title").h2
subtitle = h2.span.text
title = str(h2.contents[0])
h2.contents[0]
將在這裏返回一個NavigableString
對象。它的打印行爲與字符串版本相同。如果您只打算使用打印語句,則不需要撥打str()
。
你可以得到字幕和它的preceding sibling分開:
title = soup.find('div', id="title").h2
subtitle = title.find(class_="subtitle")
print(subtitle.previous_sibling.strip(), subtitle.get_text())
或者,你可以找到文本節點在非遞歸模式:
title = soup.find('div', id="title").h2
print(title.find(text=True, recursive=False).strip(),
title.find(class_="subtitle").get_text(strip=True))
兩個打印:
(u'My title', u'My Subtitle')
添加了不使用'class'的答案。也許有幫助。 – trans1st0r