首页 > 解决方案 > 如何通过bs4 python中的类似字符串在页面中查找特定链接

问题描述

有没有办法找到包含此示例字符串的链接Top 100 Club Tracks Vol.1 2019.rar

但也许链接包含这种类型的字符串

Top_100_Club_Tracks_Vol.1_2019.rar(大写和_)

top 100 club tracks vol.1 2019.rar(小写和空格)

top.100.club.tracks.vol1.2019.rar(小写和 dote)

我只是尝试这段代码,它不能只找到包含特定字符串的链接:

mystr = Top 100 Club Tracks Vol.1 2019.rar

 links = soup_music.find('a', text=Title).findNext("div",{"class":"postContent"}).findAll('a', attrs={'href':re.compile(mystr)})

标签: pythonweb-scrapingbeautifulsoup

解决方案


假设它在a标签中,您可以使用 * contains 运算符并将 Or 字符串列表传递给select

soup.select('[href*="Top 100 Club Tracks Vol.1 2019.rar"],[href*="top 100 club tracks vol.1 2019.rar"]')

继续添加逗号分隔的变体以进行选择,如上所示。


推荐阅读