Как использовать BeautifulSoup, чтобы найти ссылку href с классом - PullRequest
0 голосов
/ 14 сентября 2018
<div data-pet-card="pet-card" class="pet-card">

    <a data-pet-card="pet-card-link" href="https://Link-I-Want.com" 
    class="pet-card__link">

Я привык просматривать html с BS4, но я не очень знаком с самим html и не встречал href, который также имеет класс и вещь data-pet-card="pet-card-link". Я попробовал:

for a in soup.find_all('a', href=True):
    print("Found the URL:", a['href'])

но ничего не печатает и не выдает ошибок.

Все, что угодно, спасибо.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Атрибут, который вы вводите в вызов find_all, - это то, что у вас есть, а не то, что вы хотите найти. Здесь у вас есть класс, так что используйте это:

for a in soup.find_all('a', class_="pet-card__link"):
    print("Found the URL:", a['href']) 

(Поскольку class является зарезервированным словом в Python, вам необходимо использовать class_ здесь.)

0 голосов
/ 14 сентября 2018
for a in soup.find_all('a', href=True):
    print("Found the URL:", a.get_attribute_list('href')[0])

Пожалуйста, попробуйте это решение.

...