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

如何用Python+BS4获取href中完整的唯一ID整数?

问题分析

你用[-18:-1]切片获取href中的整数时结果缺失最后一位,原因是切片的结束索引-1会排除字符串的最后一个字符,而目标整数的最后一位恰好处于这个位置。原href中被***包裹的整数是180254557458746932(共18位),[-18:-1]只会取到倒数第18位到倒数第2位的字符,因此少了最后一位2。

解决方案

方法1:调整切片范围

直接从倒数第18位取到字符串末尾,去掉结束索引的-1即可:

uniqueid = link_element['href'][-18:]

这样就能完整获取18位的整数字符串。

方法2:更鲁棒的分割法(推荐)

利用href中整数被***包裹的特征,用字符串分割提取,无需依赖固定长度:

href = link_element['href']
uniqueid = href.split('***')[1]

这种方法不受整数长度变化的影响,适用性更强。

补充:实际使用bs4的正确写法

如果是通过bs4解析真实HTML获取的a标签元素,代码示例如下:

from bs4 import BeautifulSoup
import requests

# 假设已获取页面内容
soup = BeautifulSoup(page_content, 'html.parser')
link_element = soup.find('a', class_='Anchor NavList__Anchor')
if link_element:
    href = link_element.get('href')
    uniqueid = href.split('***')[1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:24:14