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
如何使用xpath/scrapy根据id标记选择两个特定项之间的所有项_Xpath_Scrapy - Fatal编程技术网

如何使用xpath/scrapy根据id标记选择两个特定项之间的所有项

如何使用xpath/scrapy根据id标记选择两个特定项之间的所有项,xpath,scrapy,Xpath,Scrapy,我有以下html: <p id="d117" class="gen">Genre</p> <a href='...'>Movie 1</a> <a href='...'>Movie 2</a> <p id="d127" class="gen">Genre</p> <li>one</li> <a

我有以下html:

<p id="d117" class="gen">Genre</p>
<a href='...'>Movie 1</a>
<a href='...'>Movie 2</a>
<p id="d127" class="gen">Genre</p>
<li>one</li>
<a href='...'>Movie 3</a>
<a href='...'>Movie 4</a>
<p id="d147" class="gen">Genre</p>
<li>two</li>
<a href='...'>Movie 5</a>
<a href='...'>Movie 6</a>
</root>

体裁

体裁

  • 一个
  • 体裁

  • 两个
  • 我想选择某个-(p)id号之后的所有节点,直到下一个新id出现,我尝试使用以下XPath:

  • //p[@id=“d147”]/前面的兄弟姐妹:*

  • //p[@id=“d147”]/以下兄弟姐妹:*

  • 上面的-1,2工作正常

    但是下面的语法并没有给出在两个id(间隔)之间获取元素的理想结果:

    //p[@id=“d117”]/后面的兄弟姐妹::*[前面的兄弟姐妹::p[@id=“d127”]]


    请指导我-使用xpath获取两个id之间的数据

    //a[前面的兄弟姐妹::p[@id='d117']和后面的兄弟姐妹::p[@id='d127']]

    检查语法了吗?您在
    p
    之后错过了一个
    [
    ,请您指出我错过的确切位置好吗?由于上述1,2语法有效,只有组合中的第三个语法无效。
    //p-->[