ページで特定のキーワードを検索し、クラスのコンテナに含まれる値を返していますds_data
。私のページには複数のキーワードの一致がありますが、ラベルが付けられた特定のコンテナからの一致のみを返したいです<div id="tabsBody" class="tabsBody">
そこから検索したいだけの美しいスープを伝える方法はありますか、私は試しました
ds_data = soup.find('div', {'class': 'tabsBody'}.findNext(text=pattern).findNext('div', {'class': 'ds_data'})
しかし、それは失敗します
マイコード
keyword_list = [
'USB 2.0 ports quantity',
'USB 3.0 ports quantity',
'VGA',
'Internal memory'
]
#Iterate through our keyword list and return the results
for search_text in keyword_list:
pattern = re.compile(r'\s*%s\s*' % search_text)
ds_data = soup.find(text=pattern).findNext('div', {'class': 'ds_data'})
if ds_data.find('img', {'class': 'spacer_top n-sign'}):
result_text = '0'
elif ds_data.find('img', {'class': 'spacer_top y-sign'}):
result_text = 'Yes'
else:
result_text = ds_data.text
print search_text, result_text