如何使用Python提取网站表单中Buy Tax和Sell Tax的数值
Python提取指定税费数值最简方案
原代码核心问题
- BeautifulSoup 无原生XPath查询支持,向find方法传入xpath属性属于无效用法
- find方法第一个参数为HTML标签名,传入
div style不符合语法规范,查询逻辑完全错误 - 依赖固定层级的XPath定位容错性极低,页面结构稍有变动就会失效
最简实现代码
直接用正则匹配返回的HTML文本,无需解析DOM,代码量最小且容错性更高:
import requests import re def get_token_tax(token: str) -> tuple[float, float]: url = f"https://honeypot.is/?address={token}" 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" } html = requests.get(url, headers=headers).text # 正则匹配买税和卖税数值,自动忽略百分号 buy_tax = re.search(r'Buy Tax:\s*(\d+\.?\d*)%', html).group(1) sell_tax = re.search(r'Sell Tax:\s*(\d+\.?\d*)%', html).group(1) return float(buy_tax), float(sell_tax) # 测试调用 token = "0x40619dc9f00ea34e51d96b6ec5d8a6ad75457434" buy, sell = get_token_tax(token) print(f"买税:{buy},卖税:{sell}")
代码说明
- 加了通用浏览器UA头,避免被站点反爬拦截
- 正则直接匹配关键字后的数值,不受页面DOM结构变动影响
- 自动提取纯数值并转为浮点型,无需额外处理百分号
- 如果需要兼容匹配失败的场景,可加
try-except捕获异常返回默认值即可
内容的提问来源于stack exchange,提问作者BJonas88
相关产品推荐
相关产品推荐

