用Javascript滾動到頁面底部,並能正確判斷出頁面已到底部的方法

如今的頁面大部分都是經過Js渲染來顯示頁面的,也就是若是不滾動到頁面底部就沒法獲取整個頁面的HTML源碼,若是經過CURL等抓取網頁那麼基本上抓取到都是一堆javascript代碼。javascript

因此就有了webkit爬蟲,把整個頁面渲染完了再抓取。這個到達頁面底部的操做一般是在webkit中執行Js來完成的,注意若是經過js直接跳到底部頁面只會渲染底部的HTML,中間的部分是不會渲染的。 因此下面這段代碼就是經過js逐步滾動到頁面底端,而且能判斷出頁面已達到底端來把setIntervel綁定的定時器清掉,以避免形成死循環。java

var delay = 10;//in milliseconds
var scroll_amount = 10;// in pixels
var interval;
function scroller() {
    var old = document.body.scrollTop;//保存當前滾動條到頂端的距離
    document.body.scrollTop += scroll_amount;//讓滾動條繼續往下滾動
    if (document.body.scrollTop == old) {//到底部後就沒法再增長scrollTop的值
        clearInterval(interval);
    }
}
function scrollToBottom()
{
  interval = setInterval("scroller()",delay);
}

scrollToBottom()

Pythonghost.py庫來作webkit爬蟲時就能夠用它的evaluate方法執行這段代碼來渲染出整個頁面。web

相關文章
相關標籤/搜索