我试图在这个网站上抓取帖子的内容标题:https://www.hortidaily.com/sector/553/greenhouse/。
使用Google函数。
所有的帖子都以同样的格式写成:
<a class="article" href="link1">
<img src="img1.jpg" align="default" border="0" class="indexdefault">
<h1>Titre1</h1>
<p>Texte1</p>
</a>ImportXML函数的Xpath =:
虽然//h11返回第一篇文章的标题,但我不明白为什么//a@class =‘h1’/ h1不能工作,我想确定我得到的h1是第一个<a class="article" href="link1">下的
我已经尝试了几乎所有我能想象到的,没有发现问题。我需要帮助!
提前感谢你
发布于 2019-08-14 23:35:26
h1中检索a[@class ='article']的值。//a[@class ='article'][1]/h1为什么返回#NA。如果我的理解是正确的,那么这个答案呢?
问题的原因:
<div id="hoofdartikelen">
<a class="article" href="link1">
<img src="img1.jpg" align="default" border="0" class="indexdefault">
<h1>Titre1</h1>
<p>Texte1</p>
</a>
</div>在我的研究中,对于上面的HTML数据,似乎<a class="article" href="link1">的标记名<a class="article" href="link1">是问题所在。例如,当标记名被修改为div时,它可以确认=IMPORTXML(A1,"//div[@class ='article'][1]/h1")工作正常。
而且,在上面的HTML中,标记h1和p似乎不是标记a的子标记。因此,下面的公式起作用。
=IMPORTXML(A1,"//div[@id='hoofdartikelen']/h1[1]")
=IMPORTXML(A1,"//div[@id='hoofdartikelen']/p[1]")但是,=IMPORTXML(A1,"//div[@id='hoofdartikelen']/img[1]/@src")不起作用。它必须是=IMPORTXML(A1,"//div[@id='hoofdartikelen']/a[1]/img/@src")。因此,标签img似乎是a的子代。
xpath示例:
根据以上结果,在您的示例中,我认为下面的xpath示例可能是合适的。
//div[@id='hoofdartikelen']/h1[1]//h1[1]//a[@class ='article']/../h1[1]参考资料:
https://stackoverflow.com/questions/57500922
复制相似问题