python - 从许多链接列表中获取具有特定模式的链接列表
问题描述
我正在使用 BeautifulSoup 并请求从网站上抓取和解析一些数据。
我已经到了一个地步,我有一个来自我正在抓取的网站的链接的输出列表,但我需要将此列表缩小到只有我需要的链接。
我只需要与模式的链接/cpc/datasheet/#####
我尝试了re.findall()
, re.search()
,filter()
和其他一些选项,但没有成功。
解决方案
您可以使用startswith()
方法检查链接是否以开头/cpc/datasheet/
并将其附加到列表中:
links = [link for link in soup.find_all('a') if str(link.get('href')).startswith('/cpc/datasheet/')]
或者:
out = []
for tag in soup.find_all('a'):
link = tag.get('href')
if str(link).startswith('/cpc/datasheet/'):
print(link)
out.append(link)
推荐阅读
- python - 如何使用数据集库构建用于语言建模的数据集,就像使用转换器库中的旧 TextDataset
- api - 未处理的异常:FormatException:http 帖子中的意外字符(在字符 1 处)
- python - Mypy 无法从文字列表中推断项目的类型
- swift - 在 MacOS 应用程序中的 Swift-UI 中为(选定的)列表行的背景着色
- git - Git更改父提交的父级
- c# - 错误:您必须已安装 Visual Studio 2010、2012、2013、2015、2017 或 2019 才能继续此安装。关于水晶报表
- python - 如何获得分隔符出现的合并计数
- flutter - 为什么 SliverFillRemaining 膨胀太多?
- vue.js - vue2-dropzone 与 vue3 兼容吗?
- r - 如何阻止图表在 R markdown 上显示?