首页 文章

python美丽的汤提取物href

提问于
浏览
0

所以我用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'))

我输入输出:无

我不知道为什么 .

谢谢您的回答!

2 回答

  • 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

    我认为你因为 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)
    

相关问题