使用xpath的垃圾格式面包屑

2024-05-29 06:02:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Scrapy爬过一个站点,我想格式化提取的面包屑以创建站点路径:

HTML格式:

<ul id="breadcrumbs"><li><a href="/site/ID/home">Home</a></li> <li><a href="/site/ID/AboutUs">Who We Are</a></li></ul>

我在做什么:

^{pr2}$

我现在得到的是:

<ul id="breadcrumbs"><li><a href="/site/ID/home">Home</a></li> <li><a href="/site/ID/AboutUs">Who We Are</a></li></ul>

我真正需要的是:

/home/AboutUs/

你知道我应该如何编写xpath或者如何格式化结果吗?在


Tags: idhome站点siteliularewe
1条回答
网友
1楼 · 发布于 2024-05-29 06:02:08

使用//ul[@id="breadcrumbs"]/li/a/@hrefxpath获取所有href值,使用^{}和{a2}提取结尾。在

来自^{}的示例:

$ scrapy shell index.html 
>>> ''.join(response.xpath('//ul[@id="breadcrumbs"]/li/a/@href').re(r'^.*?(/\w+)$'))
u'/home/AboutUs'

^.*?(/\w+)$将匹配任何跟在后面的字符(?表示它是一个“非贪婪”匹配类型),后跟一个或多个字母数字字符的斜杠(和_)。括号有助于capture字符串的最后一部分(斜杠和拼音字符)。^$是字符串的开始和结束。在

相关问题 更多 >

    热门问题