<div data-list="1" data-href="/a/ajaxPhones?id=46420863" class="action-link
showPhonesLink">Показать телефон</div>
Как найти этот элемент в Beautiful Soup?
Я пробовал следующее, но это не сработало:
show = soup.find('div', {'class': 'action-link showPhonesLink'})
Как я могу получить этот элемент?
Я предполагаю, что суп в шоу = soup.find() есть
source = requests.get(URL to get).text
soup = BeautifulSoup(source, 'lxml')
пытаться:
show = soup.find('div', class_='action-link showPhonesLink').text
.text не всегда работает, но я обнаружил, что результат не изменится без него.
я мог бы дать более подробный ответ, если бы вы могли предоставить более подробную информацию.
Используйте селектор:
show = soup.select_one('div.action-link.showPhonesLink')
Или сопоставить точный атрибут class
:
show = soup.find('div', class_='action-link showPhonesLink')
# or (for older versions of BeautifulSoup)
show = soup.find('div', attr={'class': 'action-link showPhonesLink'})
Обратите внимание, что при втором методе важны порядок классов, а также пробел, поскольку он является точным соответствием атрибуту class
. Если что-то изменится в атрибуте class
(например, еще одно пространство между классами), оно не будет соответствовать.
Я бы предложил первый метод.