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

如何使用Python的BeautifulSoup提取指定td标签内的href链接

解决方案

代码修改说明

  • 首先修正原有UA列表的格式错误:原有列表存储的是带header=前缀的字符串,不符合requests的参数要求,改为直接存储UA字典即可
  • 提取链接逻辑:拿到索引为8的td元素后,先定位内部的<a>标签,再读取其href属性即可

修正后完整代码

from bs4 import BeautifulSoup
import random
import requests
from time import sleep

url = 'https://bscscan.com/tokentxns'

# 修正UA列表格式,直接存字典
user_agent_list = [
    {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0'},
    {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'},
    {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15'},
    {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'},
    {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'},
    {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'}
]

header = random.choice(user_agent_list)
# 补充headers参数名
req = requests.get(url, headers=header, timeout=10)
soup = BeautifulSoup(req.content, 'html.parser')
rows = soup.findAll('table')[0].findAll('tr')

for row in rows[1:]: 
    tds = row.find_all('td')
    txnhash = tds[1].text.strip()
    token_td = tds[8]
    token = token_td.text.strip()
    # 提取td内部a标签的href属性,加判断避免无a标签时报错
    token_href = token_td.find('a')['href'] if token_td.find('a') else ''
    # 如果需要绝对路径可以拼接域名:token_href = f"https://bscscan.com{token_href}"
    print(f"{txnhash} {token} {token_href}")

核心逻辑说明

token_td.find('a')会定位td标签内的第一个跳转链接元素,BeautifulSoup中读取标签属性直接用标签对象['属性名']的写法即可实现。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 05:30:05