2016-10-28 7 views
1

Я пытаюсь разобрать HREF значения из нескольких элементов анкерных на странице, которые имеют атрибут itemprop со значением url использованием BeautifulSoup4beautifulsoup4 получить HREF от анкерного элемента со значением атрибута конкретного

Например, извлечением /pages/page из <a itemprop="url" href="/pages/page"></a> но на одной странице есть несколько таких элементов, поэтому я бы хотел их в массиве.

Я думаю, что-то вроде этого soup("span", html = True, {'itemprop' : 'name' })

+0

Вы попробовали 'find_all()'? покажите свой код. – furas

ответ

0

Via find_all() вы можете найти свой разобранный выход для конкретного тега. В вашем случае это довольно легко. Если первым параметром является строка, он найдет только теги с этим именем. Итак, soup.find_all("a") найдет все якорные метки.

Теперь он также поддерживает (почти) любой аргумент ключевого слова для дальнейшего сужения выбора. В вашем случае вы хотите, чтобы атрибут itemprop был установлен в url, поэтому вы можете сделать это с помощью soup.find_all("a", itemprop="url").

Это вернет вам список тегов, и если вы хотите извлечь атрибут href из этих тегов, вы можете использовать tag.get("href"). Конечным результатом будет что-то вроде этого:

anchored_tags = [tag.get("href") for tag in soup.find_all("a", itemprop="url")] 
Смежные вопросы