1
我已經被刮取的頁面,這個網站的內容:Scrapy得到一個href的值的值,如果條件爲真
<div class="td-ss-main-content">
<div class="td-page-header">...</div>
<div class="td_module_16 td_module_wrap td-animation-stack">...</div>
<div class="td_module_16 td_module_wrap td-animation-stack td_module_no_thumb">...</div>
<div class="page-nav td-pb-padding-side">
<span class="current">1</span>
<a href="http://www.arunachaltimes.in/2017/05/06/page/2/" class="page" title="2">2</a>
<a href="http://www.arunachaltimes.in/2017/05/06/page/3/" class="page" title="3">3</a>
<a href="http://www.arunachaltimes.in/2017/05/06/page/2/"><i class="td-icon-menu-right"></i></a>
<span class="pages">Page 1 of 3</span>
</div>
</div>
現在我想獲得,如果下一個頁面鏈接其存在於.page-nav > a
的href值中,其具有i tag
。
我可以這樣做:
response.css("div.page-nav > a")[2].css("::attr(href)").extract_first()
但如果我是第2頁。所以,這是更好地得到a tag
價值,如果它有一個i tag
的子元素,這將無法正常工作。我怎樣才能做到這一點?
更新(第2頁)
<div class="page-nav td-pb-padding-side">
<a href="http://www.arunachaltimes.in/2017/05/06/"><i class="td-icon-menu-left"></i></a>
<a href="http://www.arunachaltimes.in/2017/05/06/" class="page" title="1">1</a>
<span class="current">2</span>
<a href="http://www.arunachaltimes.in/2017/05/06/page/3/" class="page" title="3">3</a>
<a href="http://www.arunachaltimes.in/2017/05/06/page/3/"><i class="td-icon-menu-right"></i></a>
<span class="pages">Page 2 of 3</span>
</div>
更新(第3頁最後一頁)
<div class="page-nav td-pb-padding-side">
<a href="http://www.arunachaltimes.in/2017/05/06/page/2/"><i class="td-icon-menu-left"></i></a>
<a href="http://www.arunachaltimes.in/2017/05/06/" class="page" title="1">1</a>
<a href="http://www.arunachaltimes.in/2017/05/06/page/2/" class="page" title="2">2</a>
<span class="current">3</span>
<span class="pages">Page 3 of 3</span>
</div>
我很抱歉,但XPath表達式是行不通的。如果我在第二頁上,它顯示第一頁。如果我在第3頁(最後一頁),則顯示第2頁。 – Robin
@Robin可能是因爲你在'a'裏面有'i'元素的要求是無效的嗎?我只是按照說明。你可以發佈如何看HTML,如果你在第二頁上? – alecxe
即使是css版本也不行。如果我在第二頁上,它會得到正確的網址。但是如果我在第三頁(最後一頁),它會回到第二頁。 – Robin