Соскоб в Интернете - Получить текст из класса с помощью BeautifulSoup и Python?
Я хочу соскрести текст ("Показано 650 результатов") с веб-сайта.
Результат, который я ищу:
Result : Showing 650 results
Ниже приведен HTML-код:
<div class="jobs-search-results__count-sort pt3">
<div class="jobs-search-results__count-string results-count-string Sans-15px-black-55% pb0 pl5 pr4">
Showing 650 results
</div>
Код Python:
response = requests.get(index_url)
soup = BeautifulSoup(response.text, 'html.parser')
text = {}
link = "jobs-search-results__count-string results-count-string Sans-15px-black-55% pb0 pl5 pr4"
for div in soup.find_all('div',attrs={"class" : link}):
text[div.text]
text
Пока что похоже, что мой код не работает.
2 ответа
Вам не нужно
soup.find_all
если вы ищете только один элемент,soup.find
работает так же хорошоТы можешь использовать
tag.string
/tag.contents
/tag.text
получить доступ к внутреннему тексту
div = soup.find('div', {"class" : link})
text = div.string
Старый:
from BeautifulSoup import BeautifulSoup
«Разработка серии BeautifulSoup 3.x закончилась в 2011 году, и эта серия будет прекращена 1 января 2021 года, через год после даты закрытия Python 2».
Новый:
from bs4 import BeautifulSoup
«BeautifulSoup — это библиотека, упрощающая сбор информации с веб-страниц. Она работает поверх парсера HTML или XML и предоставляет Pythonic идиомы для итерации, поиска и изменения дерева синтаксического анализа».