Получить атрибут содержимого span от Beautifulsoup - PullRequest
0 голосов
/ 14 июня 2019

Я проанализировал HTML-страницу: с помощью Beautifulsoup

authors = soup.find_all("span", itemprop = 'author')
for author in authors:
    print(author)

и я получил авторов:

<span content="Oliver" itemprop="author"></span>
<span content="Jack" itemprop="author"></span>

Как я могу получить контент?

Я пытался:

for auther in authors:
    print(author.content)

Но я не получаю

Ответы [ 3 ]

2 голосов
/ 14 июня 2019

Чтобы получить контент, вы должны сделать следующее:

for auther in authors:
    print(author["content"])

В качестве альтернативы вы можете использовать следующий код для хранения всех авторов в переменной all_authors (в виде списка) :

all_authors = [x["content"] for x in authors]

надеюсь, это поможет!

0 голосов
/ 14 июня 2019

В случае, если вы не уверены, что всегда есть content атрибуты для элементов с itemprop = author, вы можете использовать синтаксис AND в селекторе, чтобы указать, что они должны иметь оба атрибута перед попыткой доступа:

authors = [i['content'] for i in soup.select('[itemprop=author][content]')]
0 голосов
/ 14 июня 2019

Вы рядом:

for author in authors:
    print(author["content"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...