Я ищу страницу для определенных ключевых слов и возвращаемых значений, содержащихся в контейнере класса ds_data
. Моя страница имеет несколько соответствий ключевых слов, но я только хочу, чтобы вернуть матчи из определенного контейнера с надписью <div id="tabsBody" class="tabsBody">
Beautiful Soup - возможно ли ограничить поиск определенной областью
Есть ли способ сказать 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
Где находится html? – falsetru
HTML массивный и не подходил, старался сократить все как можно больше. – Ninja2k
невозможно ответить на вопрос, не видя html-блок и ожидаемые результаты. –