对于网页抓取,我需要匹配网址的最后一部分,并将“ - ”破折号替换为“”空格。
代码看起来像这样......
<div class="tags">
<span class="tag" style="background-color: #5A214A;">
<a href="/Services/Research/Telecoms-software/Service-Assurance/">SA</a>
</span>
</div>
我希望留下“服务保证”(此部分可能包含多个“ - ”破折号,需要多次替换)。
目前正在使用:
Xpath的:
//span[@class="tag"]/a/@href
正则表达式:
/.*/(.*)/
这会产生“服务保证”,但不会删除“ - ”。
我在其他地方被告知这种替换是不可能的,因为我已经使用正则表达式找到最后的“/”斜杠之间的字符串。
我能同时做到吗?我也可以在最后替换“ - ”破折号吗?
正则表达式很简单,在一个名为import.io的应用程序中,没有特定的语言风格。
非常感谢你。
答案 0 :(得分:0)
尝试使用此xpath而不使用正则表达式:
//*[@class='tag-wrapper']/input[1]/@value
另外,你也可以试试这些方法:
我使用xpath和regex一直在google-sheets中抓取网址 - 所以如果你想尝试:
=importXML("url goes here","//span[@class="tag"]/a/@href")
现在,如果你至少得到了url字符串,那么你知道它正在工作的广告,然后我们可以将其修改为此以获得你想要的东西:
=SUBSTITUTE(REGEXEXTRACT(importXML("url goes here","//span[@class="tag"]/a/@href"),".*\/(.*)\/$"),"-"," ")
如果你有问题,请告诉我 - 谷歌有一些奇怪的怪癖 - 但如果你分享你的拉动xpath的网址我至少可以自己测试 - 我现在使用这种方法比任何其他方法更多,我曾经使用import.io和outwit hub等一吨