所以我用python测试了美丽的汤(这对那些想知道的人来说很棒)
当我想从我得到的链接中获取href时,我遇到了问题,我不明白为什么我无法得到它。
这是我的代码:
for url in soup.find_all('article'):
if "Gonz Logo" in url.get_text():
if "Black" in url.get_text():
print(url)
这有效,但它给了我这个:
<article><div class="inner-article"><a href="/shop/jackets/gw1diqgyr/n53istanq" style="height:150px;"><img alt="N7qmqyee 3g" height="150" src="//assets.supremenewyork.com/147789/vi/N7qMqyEe_3g.jpg" width="150"/></a><h1><a class="name-link" href="/shop/jackets/gw1diqgyr/n53istanq">Gonz Logo Coaches Jacket </a></h1><p><a class="name-link" href="/shop/jackets/gw1diqgyr/n53istanq">Black</a></p></div></article>
(是的,大行......)
问题是我只想获得href。当我尝试:
print(url.get('href'))
我输入输出:无
我不知道为什么。
谢谢你的回答!
答案 0 :(得分:1)
for url in soup.find_all('article'):
if "Gonz Logo" in url.get_text():
if "Black" in url.get_text():
for child_a in url.find_all('a'):
print(child_a['href'])
答案 1 :(得分:1)
我认为你因soup.find_all('article')
而得到无。当你执行url.get('href')
时,你就无法获得链接。
要获取链接,我建议您使用正则表达式获取所有a
标记,例如:
links = soup.findAll('a', attrs={'href': re.compile('[a-zA-Z0-9_()]')})
# now iterate over the links and
for link in links:
# get url
url = link.get('href')
print(url)
答案 2 :(得分:0)
通过轻率地修改Ali Yilmaz的解决方案,如下所示(href = True):
for url in soup.find_all('article'):
if "Gonz Logo" in url.get_text():
if "Black" in url.get_text():
for child_a in url.find_all('a', href=True):
print(child_a['href'])
效果很好