使用BeautifulSoup获取datetime标签对应的前序<a>标签链接
解决方案
你可以遍历每个带datetime属性的标签,找到它的父级<a>标签来获取对应链接,最终生成包含日期和对应链接的列表。
代码示例
date_link_list = [] # 遍历所有带datetime属性的标签 for time_tag in new_soup.findAll(attrs={"datetime": True}): # 找到当前时间标签的父级a标签 a_tag = time_tag.find_parent("a") # 确保找到a标签且它包含href属性 if a_tag and "href" in a_tag.attrs: datetime_val = time_tag["datetime"] link = a_tag["href"] date_link_list.append( (datetime_val, link) )
补充说明
- 从你给出的HTML结构来看,带
datetime的<relative-time>标签是嵌套在目标<a>标签内部的,所以用find_parent("a")能直接定位到对应的链接标签。 - 增加判断逻辑是为了避免出现找不到a标签或a标签无href属性的情况,防止代码运行报错。
- 最终得到的
date_link_list是一个列表,每个元素是包含日期字符串和对应链接的元组。
内容的提问来源于stack exchange,提问作者TripleCute
相关产品推荐
相关产品推荐

