私のコードをh2とテキストを取得します。私は2つの異なるオブジェクトとして私のタイトルと私の字幕を一致させたい:BeautifulSoupクラスなし
print title
>> My title
print subtitle
>> My subtitle
何か助けがありますか?
私のコードをh2とテキストを取得します。私は2つの異なるオブジェクトとして私のタイトルと私の字幕を一致させたい:BeautifulSoupクラスなし
print title
>> My title
print subtitle
>> My subtitle
何か助けがありますか?
クラス属性を使用せずに行う方法の1つは、
01です。h2 = soup.find('div', id="title").h2
subtitle = h2.span.text
title = str(h2.contents[0])
h2.contents[0]
はNavigableString
オブジェクトを返します。印刷の動作は文字列バージョンと同じです。 printステートメントだけを使用する場合は、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')
「クラス」を使用しない回答が追加されました。役に立つかもしれない。 – trans1st0r