Ничего не получаешь в красивом супе, соскабливая паутину

#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