Python 打印可能包含列表中任何单词的所有链接

Python 打印可能包含列表中任何单词的所有链接,python,beautifulsoup,Python,Beautifulsoup,如何打印包含单词列表中单词的网页中的所有链接。我使用Beautifulsoup获得了包含“联系人”一词的链接列表,代码如下所示 soup = BeautifulSoup(html_page, "html.parser") for link in soup.findAll('a'): links = link.get('href') if 'contact' in links: print links 但是,我如何打印具有以下条件的链接 keywords = ("

如何打印包含单词列表中单词的网页中的所有链接。我使用Beautifulsoup获得了包含“联系人”一词的链接列表,代码如下所示

soup = BeautifulSoup(html_page, "html.parser")
for link in soup.findAll('a'):
    links = link.get('href')
    if 'contact' in links:
        print links
但是,我如何打印具有以下条件的链接

keywords = ("contact", "reach", "feedback", "address")
if links contain any words from keywords: ## this is not actual code
   print links;

这可能是重复的,虽然我在手机上,所以我很难找到另一个问题来回答你的问题

简而言之,您可能需要的是列表理解和
any

if any( [word in links for word in keywords] )
any
如果列表中至少有一个真值,则返回True(有趣的是,它在功能上基本等同于
sum
,因为Python是如何将布尔值转换为整数的)。列表理解为链接中关键字的所有计算生成一个布尔列表

编辑:


由于@COLDSPEED,括号可能会被删除。

您可以删除
[
]