Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 带有dt标记的import.io的手动xpath覆盖_Html_Xpath_Web Crawler_Import.io - Fatal编程技术网

Html 带有dt标记的import.io的手动xpath覆盖

Html 带有dt标记的import.io的手动xpath覆盖,html,xpath,web-crawler,import.io,Html,Xpath,Web Crawler,Import.io,在经历了import.io的培训博客和W3schools之后,编写xpath覆盖对我来说仍然是一项艰巨的任务。我试图从一个站点中提取属性值,该站点的信息并不总是在完全相同的位置,因此我知道我需要编写一个xpath覆盖。HTML是: <dt>3TG:</dt> <dd>Does not contain 3TG</dd> <dt>Contract Catalog Item:</dt> <dd>Y</dd>

在经历了import.io的培训博客和W3schools之后,编写xpath覆盖对我来说仍然是一项艰巨的任务。我试图从一个站点中提取属性值,该站点的信息并不总是在完全相同的位置,因此我知道我需要编写一个xpath覆盖。HTML是:

<dt>3TG:</dt> 
<dd>Does not contain 3TG</dd>
<dt>Contract Catalog Item:</dt>
<dd>Y</dd> 
<dt>Diameter:</dt>
<dd>3/8"</dd>
<dt>Diameter-Thread Size:</dt>
<dd>3/8"-16</dd>
<dt>Finish:</dt>
<dd>Zinc</dd>
<dt>Grade:</dt>
<dd>5</dd>
<dt>Length:</dt>
<dd>1"</dd>
<dt>Material:</dt>
<dd>Steel</dd>
我试过了

//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/dt[contains(text(), "Finish")]/following-sibling::dt/text()

但是没有运气。我不确定它是跟随还是跟随兄弟姐妹。任何帮助都将不胜感激

//*[text()="XXXX"]/following-sibling::*
把XXXX换成你想要的东西

如果你想知道关于“3TG”的信息,应该是这样的

//*[text()="3TG:"]/following-sibling::*

<dt>3TG:</dt> 
<dd>Does not contain 3TG</dd>
/*[text()=“3TG:”]/以下同级::*
3TG:
不含3TG
因此xPath会找到任何文本为“3TG:”的元素,而不管标记是什么,然后查看以下同级元素(它旁边的元素)

要使定义列表更具体,您可以添加以下更具体的内容:

//dt[text()="3TG:"]/following-sibling::dd

<dt>3TG:</dt> 
<dd>Does not contain 3TG</dd>
//dt[text()=“3TG:”]/以下同级::dd
3TG:
不含3TG

您能提供网站的URL吗?您希望提取的确切数据是什么?您指定的元素顺序太多。如果网站在请求之间更改布局,例如div[1]中的数据现在可能位于div[2]中,您无法获得正确的结果。你能提供网站吗?您还可以使用OR运算符并涵盖您知道的情况。某些数据可能适合多种情况,但您可以在以后清除它们。重要的是获取数据!
//*[text()="3TG:"]/following-sibling::*

<dt>3TG:</dt> 
<dd>Does not contain 3TG</dd>
//dt[text()="3TG:"]/following-sibling::dd

<dt>3TG:</dt> 
<dd>Does not contain 3TG</dd>