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

使用Scrapy修正XPath以提取目标页面中的链接

修正Scrapy提取官网链接的XPath方案

先通过浏览器开发者工具分析目标页面结构,定位官方网站链接的特征:目标页面里,官方网站链接通常带有**"Официальный сайт"**的文本标识,或是在联系信息区块内,a标签的href指向对应官网域名。

针对该页面,推荐以下几种修正后的XPath写法:

1. 按文本内容定位(最精准)

如果链接文本明确包含"Официальный сайт",用这个XPath直接提取href属性:

//a[contains(text(), 'Официальный сайт')]/@href

2. 按父容器+域名特征定位

如果文本标识不明显,但官网域名是常见的.ru/.com后缀,可结合联系信息区块定位:

//div[contains(@class, 'contact-info')]//a[contains(@href, 'http') and (contains(@href, '.ru') or contains(@href, '.com'))]/@href

3. 按图标关联定位

部分页面会用网站图标关联官网链接,可通过图标元素的兄弟节点定位:

//i[contains(@class, 'icon-website')]/following-sibling::a/@href

Scrapy代码示例

将修正后的XPath代入Scrapy爬虫:

import scrapy

class LawyerSpider(scrapy.Spider):
    name = 'lawyer'
    start_urls = ['https://ap-rk.com/advokat-panfilov-vladimir-vladimirovich-moskva-otzyvy-telefon-adres-chasy-raboty-foto/']

    def parse(self, response):
        official_site = response.xpath("//a[contains(text(), 'Официальный сайт')]/@href").get()
        yield {
            'official_website': official_site
        }

验证方法

在Chrome浏览器中打开目标页面,按下F12进入开发者工具,切换到Console标签,输入$x("你的XPath")即可实时验证是否能匹配到目标元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:24:10