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

Beautiful Soup无法提取目标网站全部锚点元素问题求助

解决Coventry.gov.uk A-Z页面链接提取问题

你的问题出在两个核心点:

  • 目标页面里的业务链接都是相对路径(以/开头),但你的代码只筛选https开头的链接,直接漏掉了大部分目标内容
  • 页面中存在多个<ul>元素,遍历所有<ul>会抓取到无关的导航、侧边栏链接,而非A-Z条目对应的列表

修正后的代码

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

# 目标页面URL
base_url = "https://www.coventry.gov.uk/a-to-z/A"
response = requests.get(base_url)
soup = BeautifulSoup(response.content, "html.parser")

# 定位到存放A-Z条目的特定列表(查看页面源码可知该列表类为az-links)
target_list = soup.find("ul", class_="az-links")

if target_list:
    links = target_list.find_all("a")
    for link in links:
        href = link.get("href")
        if href:
            # 将相对路径拼接为完整URL
            full_url = urljoin(base_url, href)
            print(full_url)

关键改动说明

  1. 使用urllib.parse.urljoin将相对路径转为完整URL,避免丢失站内链接
  2. 通过class_="az-links"定位到正确的目标列表,只抓取A-Z相关条目
  3. 放宽链接判断条件,不再只筛选https开头的链接,确保相对路径被捕获

内容的提问来源于stack exchange,提问作者Gs can't

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:12:34