#python #html #web-scraping #beautifulsoup
Вопрос:
Мое намерение
Я хочу удалить коммиты пользователя с github, используя красивый суп с питоном.
Моя проблема
Получаю none
в результате моего сценария.
Мой код
from bs4 import BeautifulSoup
import requests
html = requests.get('https://github.com/pnp/cli-microsoft365').text
soup = BeautifulSoup(html, 'html.parser')
commits = soup.select_one('svg.octicon.octicon-history span strong').text
print(commits)
Ответ №1:
Что происходит?
Вы используете «дикую смесь» в своем find()
, и это не приведет к элементу, который вы, как ожидается, найдете, вот почему вы получаете None
Как это исправить?
Используйте селектор css для связывания частей, которые вы ищете, в этом случае он выберет <svg>
перед фиксациями и следующий <span>
элемент, содержащий <strong>
:
soup.select_one('svg.octicon.octicon-history span strong').text
Вывод (в момент моего запроса)
1,664