使用 Beautifulsoup 匹配标题中的特定文本

Matching a specific piece of text in a title using Beuatiful Soup

基本上,我想找到包含某些关键术语的所有链接。在我的例子中,我想要的这些链接的标题以这种形式出现:abc ...(通用文本),dce ...(通用文本),...我想获取所有包含“(通用文本)的链接文本)”并将它们放入列表中。我让代码正常工作,并且我了解如何找到所有链接。但是,我将链接转换为字符串以找到“(通用文本)”。我知道这不是好的做法,我不确定如何使用 Beautiful Soup 来查找这个公共元素而不转换为字符串。这里的问题是我正在搜索的标题并不完全相同。这是我目前拥有的:

 from bs4 import BeautifulSoup
 import requests
 import webbrowser

 url = 'website.com'
 http = requests.get(url)

 soup = BeautifulSoup(http.content, "lxml")

 links = soup.find_all('a', limit=4000)
 links_length = len(links)

 string_links = []
 targetlist = []
 
 for a in range(links_length):
       string_links.append(str(links[a]))  
       if '(common text)' in string_links[a]:
             targetlist.append(string_links[a])

注意:我正在寻找使用 Beautiful Soup 来完成此操作的最简单方法。任何帮助将不胜感激。

没有您想要的实际网站和实际输出,很难说出您想要什么,但这是使用列表理解的“更干净”的解决方案。

from bs4 import BeautifulSoup
import requests
import webbrowser

url = 'website.com'
http = requests.get(url)

soup = BeautifulSoup(http.content, "lxml")

links = soup.find_all('a', limit=4000)

targetlist = [str(link) for link in links if "(common text)" in str(link)]