You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup find_all时,如何跳过含https://的链接结果?

解决方案

直接在打印前加个判断,跳过包含https://的条目即可,修改后的代码如下:

import requests
from bs4 import BeautifulSoup

for page_number in range(1, 10):
    url = f"xyz{page_number}"
    # 这里的page_number +=1是多余的,range循环会自动递增页码
    req = requests.get(url)
    src = req.text
    soup = BeautifulSoup(src, "lxml")
    get_car_links = soup.find_all(class_="info-container")
    for i in get_car_links:
        car_links = i.find("a", class_="title")
        if car_links:  # 额外加个判断,避免找不到a标签时报错
            car_datas = car_links.get("href")
            if "https://" not in car_datas:  # 核心过滤逻辑
                print(car_datas)

关键说明

  • 核心逻辑是if "https://" not in car_datas:,只有不包含https://的链接才会被输出
  • 额外添加if car_links:判断,防止页面中某个info-container下没有目标a标签时,调用get("href")抛出异常
  • 原代码里的page_number +=1属于冗余代码,range(1,10)会自动从1循环到9,每次循环page_number会自动取到下一个值,无需手动递增

内容的提问来源于stack exchange,提问作者Alberi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:18:12