我正在页面中搜索某些关键字并返回包含在 class 容器中的值ds_data
。我的页面有多个关键字匹配,但我只想从标记为的某个容器返回匹配项<div id="tabsBody" class="tabsBody">
有没有办法告诉 Beautiful Soup 我只想从那里搜索,我试过了
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