美丽的汤过滤可用于多个关键字

时间:2019-11-27 10:39:15

标签: python beautifulsoup

代码

soup = BeautifulSoup(urllib.request.urlopen(link['href']).read(), 'lxml')
    # Find CompanyA links
    for link in soup.findAll('a', href=True, text='CompanyA'):
        print (link['href'])

是否可以过滤多个这样的内容?

text='CompanyA' OR text='CompanyB' OR text='CompanyC'

2 个答案:

答案 0 :(得分:3)

这将为您提供所有具有text属性并与您的文本列表匹配的元素。

soup.findAll('a', href=True, text=lambda value: value and value in ["CompanyA", "CompanyB", "CompanyC"])

答案 1 :(得分:1)

使用正则表达式。

import re
for link in soup.findAll("a", href=True,text=re.compile("CompanyA|CompanyB|CompanyC")):
        print (link['href'])