我正在學習使用scrapy,并且正在構建一個簡單的爬蟲來加強我正在學習的內容,并且正在嘗試獲取下一頁鏈接但遇到了麻煩。誰能指出我獲取下一頁鏈接的正確方向,該鏈接位于a最后li
分頁div如下:
<div class="pagination pagination-small hidden-phone">
<ul>
<li><a href="./viewforum.php?f=399&start=40" data-original-title="" title=""><i
class="icon-chevron-left"></i></a></li>
<li><a href="./viewforum.php?f=399" data-original-title="" title="">1</a></li>
<span class="page-sep">, </span>
<li><a href="./viewforum.php?f=399&start=40" data-original-title="" title="">2</a></li>
<span class="page-sep">, </span>
<li class="active"><a data-original-title="" title="">3</a></li>
<span class="page-sep">, </span>
<li><a href="./viewforum.php?f=399&start=120" data-original-title="" title="">4</a></li>
<span class="page-sep">, </span>
<li><a href="./viewforum.php?f=399&start=160" data-original-title="" title="">5</a></li>
<span class="page-sep">, </span>
<li><a href="./viewforum.php?f=399&start=200" data-original-title="" title="">6</a></li>
<li class="active"><a class="pointer-fix" href="#" onclick="jumpto(); return false;" title=""
data-original-title="Jump to page"> ... </a></li>
<li><a href="./viewforum.php?f=399&start=311244" data-original-title="" title="">10012</a></li>
<li><a href="./viewforum.php?f=399&start=120" data-original-title="" title=""><i
class="icon-chevron-right"></i></a></li>
</ul>
</div>
我嘗試了以下不同的變體,但回傳錯誤,即使我使用li過,它仍然給我 class=active :
lili:not([])response.css('div.pagination.pagination-small.hidden-phone').css('li:not([])').get()
例子:
>>> response.css('div.pagination.pagination-small.hidden-phone').css('li:not([])').get()
'<li ><a>1</a></li>'
謝謝
uj5u.com熱心網友回復:
由于它是li串列中的最后一個,我們可以利用它來發揮優勢。
CSS:
In [1]: response.css('div.pagination li:last-child a::attr(href)').get()
Out[1]: './viewforum.php?f=399&start=120'
路徑:
In [2]: response.xpath('//div[contains(@class, "pagination")]//li[last()]/a/@href').get()
Out[2]: './viewforum.php?f=399&start=120'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530075.html
上一篇:點擊時抓取
下一篇:如何只在頁面上抓取一次URL?
