ImportXML return 为空
ImportXML return empty
我试图在这个网站上抓取 post 的内容标题:https://www.hortidaily.com/sector/553/greenhouse/
使用 Google Sheets Importxml 函数。
所有post都写成同样的格式:
<a class="article" href="link1">
<img src="img1.jpg" align="default" border="0" class="indexdefault">
<h1>Titre1</h1>
<p>Texte1</p>
</a>
使用 Xpath 的 ImportXML 函数 = :
- //a[@class ='article']/@href return 链接 1:好的
- //a[@class ='article'][1]/img/@src return img1:好的
- //a[@class ='article'][1]/h1 return #NA(导入的内容为空)尽管 XPath 在 chrome XPath Helper 中工作。 ..
虽然//h1[1] return第一篇文章的标题,问题我不明白为什么 //a[@class ='article'][1 ]/h1 不起作用,我想确定我得到的 h1 是第一个 <a class="article" href="link1">
下的 h1
我已经尝试了几乎所有我能想到的方法,但没有找到问题所在。我需要一些帮助!
提前致谢
- 您想在第一个
a[@class ='article']
中检索 h1
的值。
- 你想知道为什么
//a[@class ='article'][1]/h1
returns #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
是问题所在。例如,当标签名称修改为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]
参考:
我试图在这个网站上抓取 post 的内容标题:https://www.hortidaily.com/sector/553/greenhouse/
使用 Google Sheets Importxml 函数。
所有post都写成同样的格式:
<a class="article" href="link1">
<img src="img1.jpg" align="default" border="0" class="indexdefault">
<h1>Titre1</h1>
<p>Texte1</p>
</a>
使用 Xpath 的 ImportXML 函数 = :
- //a[@class ='article']/@href return 链接 1:好的
- //a[@class ='article'][1]/img/@src return img1:好的
- //a[@class ='article'][1]/h1 return #NA(导入的内容为空)尽管 XPath 在 chrome XPath Helper 中工作。 ..
虽然//h1[1] return第一篇文章的标题,问题我不明白为什么 //a[@class ='article'][1 ]/h1 不起作用,我想确定我得到的 h1 是第一个 <a class="article" href="link1">
我已经尝试了几乎所有我能想到的方法,但没有找到问题所在。我需要一些帮助!
提前致谢
- 您想在第一个
a[@class ='article']
中检索h1
的值。 - 你想知道为什么
//a[@class ='article'][1]/h1
returns#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
是问题所在。例如,当标签名称修改为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]