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

使用Beautiful Soup解析Medium平台文章发布日期的问题求助

用BeautifulSoup解析Medium归档页文章发布日期方案

失败原因说明

Medium归档页的发布日期字段没有和标题、作者、阅读时长字段放在同级容器的直接子元素中,通常嵌套在文章卡片元数据区域的<time>标签里,之前提取失败大概率是选择器没有匹配到正确的层级或标签类型。

实现代码

import requests
from bs4 import BeautifulSoup

# 必须添加User-Agent请求头,否则Medium会拦截请求返回403
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url = "https://medium.com/interlay/archive/2020"
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

# 定位所有文章卡片节点
article_cards = soup.find_all("div", class_="streamItem streamItem--postPreview js-streamItem")

publish_dates = []
for card in article_cards:
    # 提取time标签内的文本,直接对应你需要的月份+日期+年份格式
    date_tag = card.find("time")
    if date_tag:
        publish_dates.append(date_tag.get_text(strip=True))

# 按要求用分号拼接结果
result = " ; ".join(publish_dates)
print(result)

输出示例

运行代码后会得到符合要求的格式:Jun 18, 2020 ; Mar 5, 2020 ; Feb 23, 2020

注意事项

  • 如果需要对日期做后续处理,可以提取<time>标签的datetime属性,得到ISO标准格式的日期字符串,方便后续转格式、排序等操作
  • 本示例的2020年归档页所有内容都包含在静态HTML中,无需处理动态加载;如果是需要滚动加载的页面,可搭配selenium模拟浏览器加载后再提取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:15:07