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

基于类名的网页爬取问题:无法提取目标地址内容

解决爬取地址的XPath问题

问题分析

你之前的两段XPath都存在逻辑错误,导致无法获取目标地址:

  • 第一段td[2]/td[contains(@class,'type-address')]:HTML规范里<td>不能作为另一个<td>的子元素,你的目标<td class="type-address">本身就是独立单元格,不存在嵌套在td[2]里的子<td>,路径完全错误。
  • 第二段td[2]/@class:这段代码是提取第二个<td>的class属性值,根本不是提取文本内容,自然拿不到地址。

正确的XPath写法

根据你提供的HTML结构,以下几种写法都能正确提取目标地址:

  1. 精准定位到带type-address类的<td>,再提取其内部<span>的文本:
address = response2.xpath("//td[@class='type-address']/span/text()").get()
  1. 如果需要自动去除文本首尾的空格,使用normalize-space():
address = response2.xpath("normalize-space(//td[@class='type-address']/span/text())").get()
  1. 也可以直接提取<td>下的所有文本内容(因为<span>里的内容就是<td>的全部文本):
address = response2.xpath("normalize-space(//td[@class='type-address']//text())").get()

补充说明

如果你的目标<td>确实是某个<tr>下的第二个单元格,可把路径调整为//tr/td[2][@class='type-address']/span/text(),但从你给出的HTML结构来看,不需要额外层级定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:40:27