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
Xml 这个元素的xpath是什么_Xml_Xpath_Scrapy - Fatal编程技术网

Xml 这个元素的xpath是什么

Xml 这个元素的xpath是什么,xml,xpath,scrapy,Xml,Xpath,Scrapy,我正在刮一页纸 我想提取这些数据 我从google chrome获得了它的xpath,它是 //*[@id="oldID"]/li[N]/em[J] 我试图得到结果。但它给出了页面中另一个元素的结果。这就是![在此处输入图像描述][2] 其xpath是: //*[newID"]/li[N+1]/em[J] 为什么请?页面中的HTML片段 <li> <span>Dealer</span

我正在刮一页纸

我想提取这些数据

我从google chrome获得了它的xpath,它是

//*[@id="oldID"]/li[N]/em[J]
我试图得到结果。但它给出了页面中另一个元素的结果。这就是![在此处输入图像描述][2] 其xpath是:

//*[newID"]/li[N+1]/em[J]

为什么请?

页面中的HTML片段

                            <li>
            <span>Dealer</span><em>Some dealer</em><br />
            <span>Location </span><em>some location</em><br>                <span>City </span><em>Some City</em><br>                <span>Country </span><em>Some Country</em><br>                <span>Telephone </span><em>0123456789</em><br>                <span>Mobile </span><em>1234567890</em><br>                <span>Website </span><em><a href="http://www.example.com" >http://www.example.com</a></em><br>               
            <br />
            <a href="detail.php?id=123456">View all products</a>
            </li>

页面中的HTML代码段

                            <li>
            <span>Dealer</span><em>Some dealer</em><br />
            <span>Location </span><em>some location</em><br>                <span>City </span><em>Some City</em><br>                <span>Country </span><em>Some Country</em><br>                <span>Telephone </span><em>0123456789</em><br>                <span>Mobile </span><em>1234567890</em><br>                <span>Website </span><em><a href="http://www.example.com" >http://www.example.com</a></em><br>               
            <br />
            <a href="detail.php?id=123456">View all products</a>
            </li>

页面中的HTML代码段

                            <li>
            <span>Dealer</span><em>Some dealer</em><br />
            <span>Location </span><em>some location</em><br>                <span>City </span><em>Some City</em><br>                <span>Country </span><em>Some Country</em><br>                <span>Telephone </span><em>0123456789</em><br>                <span>Mobile </span><em>1234567890</em><br>                <span>Website </span><em><a href="http://www.example.com" >http://www.example.com</a></em><br>               
            <br />
            <a href="detail.php?id=123456">View all products</a>
            </li>

页面中的HTML代码段

                            <li>
            <span>Dealer</span><em>Some dealer</em><br />
            <span>Location </span><em>some location</em><br>                <span>City </span><em>Some City</em><br>                <span>Country </span><em>Some Country</em><br>                <span>Telephone </span><em>0123456789</em><br>                <span>Mobile </span><em>1234567890</em><br>                <span>Website </span><em><a href="http://www.example.com" >http://www.example.com</a></em><br>               
            <br />
            <a href="detail.php?id=123456">View all products</a>
            </li>


当你说“试图得到结果”时,你使用的是什么工具?可能页面在加载后在浏览器中发生了变化,因此Chrome中的结构与您正在抓取的原始源不同。它是一个脚本页面。在脚本运行之前,您要查找的元素可能不存在。(我没有尝试阅读脚本,也没有查看获取的原始文档。)@IMSoP我正在将scrapy与python一起使用。我已经做了刮痧的标签了。加载后如何在浏览器中更改页面?可能吗?如果是的话,请给我描述一下这种情况,我还没有出发it@keshlam你的假设是不可能的,因为我已经可以废弃关于“经销商”的物品了item@MarcoDinatsoli简单:JavaScript。它在技术上被称为“动态HTML”,尽管这个短语现在很少使用。如果你看一个像Facebook这样的网站,你会发现几乎没有任何内容真正包含在最初的源代码中,所有内容都是动态获取和呈现的。当你说“试图获得结果”时,你在使用什么工具?可能页面在加载后在浏览器中发生了变化,因此Chrome中的结构与您正在抓取的原始源不同。它是一个脚本页面。在脚本运行之前,您要查找的元素可能不存在。(我没有尝试阅读脚本,也没有查看获取的原始文档。)@IMSoP我正在将scrapy与python一起使用。我已经做了刮痧的标签了。加载后如何在浏览器中更改页面?可能吗?如果是的话,请给我描述一下这种情况,我还没有出发it@keshlam你的假设是不可能的,因为我已经可以废弃关于“经销商”的物品了item@MarcoDinatsoli简单:JavaScript。它在技术上被称为“动态HTML”,尽管这个短语现在很少使用。如果你看一个像Facebook这样的网站,你会发现几乎没有任何内容真正包含在最初的源代码中,所有内容都是动态获取和呈现的。当你说“试图获得结果”时,你在使用什么工具?可能页面在加载后在浏览器中发生了变化,因此Chrome中的结构与您正在抓取的原始源不同。它是一个脚本页面。在脚本运行之前,您要查找的元素可能不存在。(我没有尝试阅读脚本,也没有查看获取的原始文档。)@IMSoP我正在将scrapy与python一起使用。我已经做了刮痧的标签了。加载后如何在浏览器中更改页面?可能吗?如果是的话,请给我描述一下这种情况,我还没有出发it@keshlam你的假设是不可能的,因为我已经可以废弃关于“经销商”的物品了item@MarcoDinatsoli简单:JavaScript。它在技术上被称为“动态HTML”,尽管这个短语现在很少使用。如果你看一个像Facebook这样的网站,你会发现几乎没有任何内容真正包含在最初的源代码中,所有内容都是动态获取和呈现的。当你说“试图获得结果”时,你在使用什么工具?可能页面在加载后在浏览器中发生了变化,因此Chrome中的结构与您正在抓取的原始源不同。它是一个脚本页面。在脚本运行之前,您要查找的元素可能不存在。(我没有尝试阅读脚本,也没有查看获取的原始文档。)@IMSoP我正在将scrapy与python一起使用。我已经做了刮痧的标签了。加载后如何在浏览器中更改页面?可能吗?如果是的话,请给我描述一下这种情况,我还没有出发it@keshlam你的假设是不可能的,因为我已经可以废弃关于“经销商”的物品了item@MarcoDinatsoli简单:JavaScript。它在技术上被称为“动态HTML”,尽管这个短语现在很少使用。如果你看一个像Facebook这样的网站,你会发现几乎没有任何内容真正包含在最初的源代码中,所有内容都是动态获取和呈现的。我尝试了你的解决方案,但结果是空的,因为“正如我想的那样”蜘蛛试图进入另一个
ul
元件,而该元件没有
经销商
span您能告诉我发生这种情况的原因吗?我想理解,我不确定,但Chrome的解析器可能比lxml(在Scrapy中使用)聪明得多,所以Chrome可能会添加一些元素来修复不正确的标记。根据
[N]
(如果不是位置
1
last()
)进行选择通常是危险的,根据附近的线索进行选择更安全,这里是目标文本前的文本标签我尝试了你的解决方案,但结果是空的,因为“我认为”蜘蛛试图进入另一个
ul
元件,而该元件没有
经销商
span您能告诉我发生这种情况的原因吗?我想理解,我不确定,但Chrome的解析器可能比lxml(在Scrapy中使用)聪明得多,所以Chrome可能会添加一些元素来修复不正确的标记。根据
[N]
(如果不是位置
1
last()
)进行选择通常是危险的,根据附近的线索进行选择更安全,这里是目标文本前的文本标签我尝试了你的解决方案,但结果是空的,因为“我认为”蜘蛛试图进入其他
ul
元件,而这些元件没有
经销商
span您能告诉我原因吗