美丽的汤 - 捕获与某个类或文本的所有链接

Yun*_*nti 4 python beautifulsoup

我正试图从一个美丽的汤的网页捕获所有相关链接.我需要的所有链接都包含class="btn btn-gray"文本和文本<a...>More Info<>

提取这些链接的最佳方法是什么?

Sup*_*tch 7

这个怎么样?

soup = BeautifulSoup(html, 'lxml')

all_links = []
links = soup.find_all('a', {'class': ['btn', 'btn-gray']})
for link in links:
    if 'More Info' in link.text:
        all_links.append(link['href'])  # Save href only, for example.
Run Code Online (Sandbox Code Playgroud)

或者作为一个干净的清单理解:

links = soup.find_all('a', {'class': ['btn', 'btn-gray']})
results = [link['href'] for link in links if 'More Info' in link.text]
Run Code Online (Sandbox Code Playgroud)