Я использую BeautifulSoup для анализа кода этого сайта и извлечения URL результатов. Но при использовании команды find_all я получаю пустой список в качестве вывода. Я проверил вручную HTML-код, который я загружаю с сайта, и он содержит соответствующий класс. Если бы кто-то мог указать, где я совершил ошибку или показать лучшее решение, я был бы признателен!
find_all
from bs4 import BeautifulSoup import requests page = requests.get("https://www.awf.edu.pl/pracownik/wyszukiwarka-pracownikow?result_5251_result_page=3&queries_search_query=&category_kategorie=wydzia_wychowania_fizycznego&search_page_5251_submit_button=Szukaj¤t_result_page=1&results_per_page=20&submitted_search_category=&mode=results") soup = BeautifulSoup(page.content, 'html.parser') results = soup.find_all('div', class_ = 'search-item photo')
`
Я также пытался использовать этот код ниже, чтобы просто найти все ссылки на сайте, а затем отделить то, что мне нужно, но в этом случае я получаю только родительский тег. если в теге 'a' вложен другой тег 'a', он пропускается, и из документации я подумал, что он также будет включен в вывод.
from bs4 import BeautifulSoup import requests page = requests.get("https://www.awf.edu.pl/pracownik/wyszukiwarka-pracownikow?result_5251_result_page=3&queries_search_query=&category_kategorie=wydzia_wychowania_fizycznego&search_page_5251_submit_button=Szukaj¤t_result_page=1&results_per_page=20&submitted_search_category=&mode=results") soup = BeautifulSoup(page.content, 'html.parser') results = soup.find_all('a')
BeautifulSoup не может найти класс, который существует на веб-странице?
Я нашел этот ответ на похожий вопрос, но в моем случае я вижу HTML-код, который хочу найти в моей консоли, когда использую print(soup.prettify())
print(soup.prettify())
проблема, с которой вы сталкиваетесь, связана с тем, как вы анализируете page.content.
page.content
замените:
soup = BeautifulSoup(page.content, 'html.parser')
на:
soup = BeautifulSoup(page.content, 'lxml')
надеюсь, это поможет.