Метод Soup.select в python - как выбрать только один балл? - PullRequest
1 голос
/ 16 февраля 2020

Я хочу отобразить только первый счет метода soup.select, теперь у меня есть этот код:

score = soup.select('my_name a')
print(score)

urls = [tag['href'] for tag in score if 'href' in tag.attrs and "name" in tag['href']]
print(urls)

Когда bs находит только один результат, он работает очень хорошо. Но как выбрать только первый балл, когда я получу больше баллов?

Теперь вывод:

> [<a href="/name/adrian1021 "> Adrian </a>, <a href="/name/john.james"> John James </a>, <a href="/name/carol22 "> Carol Coat </a>]
> 
> ['/name/adrian1021 ', '/name/john.james ', '/name/carol22 ']

Я хочу извлечь только один балл, например, вывод должен быть:

[/name/adrian1021 ']

Возможно ли это? Я пытался работать над этим, как в списке, но он не работает.

1 Ответ

0 голосов
/ 16 февраля 2020

Вы хотите использовать soup.select_one(), который находит только первый элемент, соответствующий селектору.

Таким образом, ваша переменная оценки должна быть:

score = soup.select_one('my_name a')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...