Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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(python)查找最后一个表列表的链接 li:最后一个孩子_Python_Css_Xpath_Web Crawler - Fatal编程技术网

使用xpath(python)查找最后一个表列表的链接 li:最后一个孩子

使用xpath(python)查找最后一个表列表的链接 li:最后一个孩子,python,css,xpath,web-crawler,Python,Css,Xpath,Web Crawler,131715中的1141–1160 我想知道无论使用response.css还是response.xpath,如何获取xpath以获取最后一个li标记的链接 这是我正在写的代码 对于response.xpath中的href('/*[@id=“js map search result nav”]/ul/li[-1]/a/@href'): yield response.follow(href,self.parse) 或 (//ul[contains(@class,'c-pagination')]/

131715中的1141–1160

我想知道无论使用response.css还是response.xpath,如何获取xpath以获取最后一个li标记的链接

这是我正在写的代码

对于response.xpath中的href('/*[@id=“js map search result nav”]/ul/li[-1]/a/@href'): yield response.follow(href,self.parse)

(//ul[contains(@class,'c-pagination')]/li)[last()]

获取
/ul[contains(@class,'lookup-result-pagination')中的最后一个li元素]

这是css定位器:

ul.c-pagination>li:最后一个孩子

但最后一个li-在您的案例中是“下一步”按钮,您需要它还是最后一页的号码

在这种情况下,可以使用Xpath检查最后一个li是否没有下一个文本

(//ul[contains(@class,'c-pagination')]/li[not(./a[contains(text(),'Next'))]][last()]


你知道如何使用response.css通过类名找到最后一个li标记的链接吗?很抱歉,我错过了删除我正在调试的非种子部分)现在试试)还添加了css定位器非常感谢。你能告诉我这些代码的问题吗?response.xpath('/*[@id=“js map search result nav”]/ul/li[-1]/a/@href')当然)定位器完全不正确)我会解释:
li[-1‌​] -您试图获取位置为-1的元素,这是不可能的。要获取最后一个-1元素,请使用
(定位器)[last()-1]
<div id="js-map-search-result-nav" class="lookup-result-guide" style="width: 630px;">
<ul class="c-pagination lookup-result-pagination">
    <li class="c-pagination__list">
      <a href="/en/tokyo/rstLst/57/" class="c-pagination__target c-pagination__target--prev js-pjax-anchor" rel="prev">«&nbsp;Prev</a>
    </li>
  <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/54/">54</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/55/">55</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/56/">56</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/57/">57</a></li> <li class="c-pagination__list"><span class="c-pagination__target c-pagination__target--num is-selected">58</span></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/59/">59</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/60/">60</a></li>   
    <li class="c-pagination__list">
      <a href="/en/tokyo/rstLst/59/" class="c-pagination__target c-pagination__target--next js-pjax-anchor" rel="next">Next &nbsp;»</a>
    </li>
</ul>
(//ul[contains(@class,'lookup-result-pagination')]/li)[last()]