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

如何用lxml从href属性解析提取网页文件实际链接?

修改代码提取标签的href属性

原代码仅提取了<td>标签的文本内容,要获取<a>标签href属性中的实际链接,需要定位到<a>元素并读取其属性值,以下是两种修改方案:

方案1:直接提取页面所有标签的href

直接通过XPath定位页面中所有<a>标签,批量提取href属性:

import requests
from lxml import html

url = "你的目标网页URL"
web_string = requests.get(url).content
parsed_content = html.fromstring(web_string)

# 提取所有含href属性的<a>标签链接
directive_list = [a.get('href') for a in parsed_content.xpath('//a') if a.get('href')]

方案2:延续原逻辑在内查找标签

如果只需要提取<td>标签下的链接,可在遍历每个<td>时,查找其内部的<a>标签:

import requests
from lxml import html

url = "你的目标网页URL"
web_string = requests.get(url).content
parsed_content = html.fromstring(web_string)
td_list = [e for e in parsed_content.iter() if e.tag == 'td']

directive_list = []
for td_e in td_list:
    # 在当前<td>下查找所有<a>标签
    for a_tag in td_e.xpath('.//a'):
        href = a_tag.get('href')
        if href:
            directive_list.append(href)

注意事项

  • 若提取的href是相对路径(如示例中的file1.pdf),下载前需用urllib.parse.urljoin(url, href)拼接成完整URL,确保请求有效。
  • 代码中保留了if href判断,用于过滤没有设置href属性的无效<a>标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:25:02