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

Python新手技术问询:如何根据日期从父页面获取目标URL

Python新手网页抓取问题解决方案

嘿,作为Python新手能写出这些基础代码已经很棒啦!我来帮你把这些零散的步骤串起来,解决找到指定日期对应链接、整理数据的问题~

1. 先补全必要的导入

你的代码里没写导入语句,先把这些加上,不然运行会报错:

from urllib.request import urlopen
import re
from bs4 import BeautifulSoup

2. 关联指定日期与对应href链接

你现在是分别获取所有链接和匹配的日期,但没把它们关联起来。核心是找到包含目标日期的span标签,再定位到它对应的a标签(毕竟日期和链接通常在同一个区块里)。这里给你写了适配常见网页结构的代码:

url = "https://www.visitmonmouth.com/page.aspx?Id=5017"
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')

# 你要找的目标日期
target_date = '7/18/20:'
# 找到所有包含该日期的span标签(对应你提到的span style标签)
date_spans = soup.find_all('span', string=re.compile(target_date))

# 收集对应日期的链接
target_links = []
for span in date_spans:
    # 先尝试找包含这个span的a标签(比如日期是a标签的文本一部分)
    link = span.find_parent('a')
    if link and link.get('href'):
        target_links.append(link.get('href'))
    # 如果日期和a标签是同级关系,就找相邻的a标签
    else:
        link = span.find_next_sibling('a')
        if link and link.get('href'):
            target_links.append(link.get('href'))

print(f"找到对应日期的链接: {target_links}")

小技巧:如果不知道日期和a标签的结构,可以用print(span.prettify())打印span的完整HTML,这样就能清楚它们的层级关系,调整查找逻辑啦。

3. 将HTML数据转为字典结构

你说的“将HTML转为字典”,应该是把日期、链接和子站点数据整理成结构化的字典。这里可以把每个条目封装成字典,再存入列表,方便后续处理:

# 存储最终结构化数据的列表
result_list = []

for span in date_spans:
    item = {}
    # 提取干净的日期文本(去掉多余空格换行)
    item['date'] = span.get_text(strip=True)
    # 获取对应链接并处理相对路径
    link = span.find_parent('a') or span.find_next_sibling('a')
    if link:
        href = link.get('href')
        # 把相对路径转成完整URL,避免无法访问
        full_url = f"https://www.visitmonmouth.com{href}" if href.startswith('/') else href
        item['link'] = full_url
        # 调用你已有的子站点爬虫,把结果合并到字典里
        # 假设你的爬虫函数叫crawl_subsite,返回子站点数据字典
        # sub_site_data = crawl_subsite(full_url)
        # item.update(sub_site_data)
    result_list.append(item)

# 打印整理好的字典数据
print("结构化后的结果:")
for entry in result_list:
    print(entry)

4. 额外小提示

  • 可以给urlopen加上try-except异常处理,避免网页无法访问时程序直接崩溃。
  • 如果目标日期有多个匹配结果,上面的代码会全部收集,你可以根据需求做进一步筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 15:43:14