Вы определяете developer_link
как тег <div>
, содержащий ссылку, а не саму ссылку. Поскольку сам тег div не имеет параметра "href", developer_link.get('href')
вернет None
. Так что вам просто нужно сделать шаг вперед:
>>> pagecode = """
... <div class="xBRiJc">
... ... <a href="https://play.google.com/store/apps/collection/cluster?
... ... clp=igNLChkKEzc4NDcxODQ2MTE5MjkxMDc4NTgQCBgDEiwKJmFhZGVtby5zdXBlcmF3ZXNvbWUudHYuYXdlc29tZWFkc2RlbW8yEAEYAxgB:S:ANO1ljKZ36s&gsr=Ck6KA0sKGQoTNzg0NzE4NDYxMTkyOTEwNzg1OBAIGAMSLAomYWFkZW1vLnN1cGVyYXdlc29tZS50di5hd2Vzb21lYWRzZGVtbzIQARgDGAE%3D:S:ANO1ljKKOPI"> .
... ... <h2 class="C7Bf8e bs3Xnd">SuperAwesome LTD</h2></a></div>
... ... """
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(pagecode, 'lxml')
>>> div = soup.find("div", class_="xBRiJc")
>>> link = div.find("a")
>>> print(link.get('href'))
https://play.google.com/store/apps/collection/cluster?
... clp=igNLChkKEzc4NDcxODQ2MTE5MjkxMDc4NTgQCBgDEiwKJmFhZGVtby5zdXBlcmF3ZXNvbWUudHYuYXdlc29tZWFkc2RlbW8yEAEYAxgB:S:ANO1ljKZ36s&gsr=Ck6KA0sKGQoTNzg0NzE4NDYxMTkyOTEwNzg1OBAIGAMSLAomYWFkZW1vLnN1cGVyYXdlc29tZS50di5hd2Vzb21lYWRzZGVtbzIQARgDGAE%3D:S:ANO1ljKKOPI
Хотя, глядя на этот пример, я предполагаю, что класс div - это то, что генерируется динамически. Если это так, то класс div не может быть «xBRiJc» при повторном посещении страницы, что означает, что он не является надежным идентификатором ссылки. Если вы просто пытаетесь получить первую ссылку, текст которой содержит «SuperAwesome LTD», вы можете использовать некоторые приемы регулярных выражений, чтобы получить ссылку, основанную только на tht. Но если вы знаете, что ваша ссылка имеет тег H2 прямо внутри, фактический текст которого «SuperAwesome LTD», то вы можете сделать это:
t = soup.find('h2')
print(t.parent.get('href'))