【问题标题】:Get a list of links with specific pattern from list of many links从许多链接列表中获取具有特定模式的链接列表
【发布时间】:2021-02-24 02:15:53
【问题描述】:

我正在使用 BeautifulSoup 并请求从网站上抓取和解析一些数据。

我已经到了一个点,我可以从我正在抓取的网站中获得一个链接的输出列表,但我需要将此列表缩小到只有我需要的链接。

这是我的代码输出的照片:

我只需要/cpc/datasheet/#####模式的链接

我尝试了re.findall()re.search()filter() 以及其他一些选项,但都没有成功。

【问题讨论】:

  • 请在此处粘贴您的完整代码。请勿将图片作为代码发布
  • 请不要张贴文字输出的图片,而是复制粘贴。图片是共享数据的糟糕媒介。

标签: python parsing web-scraping beautifulsoup python-requests


【解决方案1】:

您可以使用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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多