最近寫的爬蟲就是為了抓取sina微薄的內容,結果發現11月份以后微薄改版了,改版之后一頁並不是一次性現實的,而是分三次顯示。第一次訪問獲取的內容只有1/3,其余的內容分兩次,通過新浪自己的STK庫中的lazy_load來完成動態加載的。本來以為很難解決,抓了一下包以后發現其實挺簡單。
body={'__rnd':訪問這一頁面的時間,以秒表示的13位整數
'_k':本次登錄第一次訪問此微薄的時間,16位整數
'_t':0
'count':第二次和第二次訪問時都是15,第一次訪問時是50
'end_id':最新的這一項微博的mid
'max_id':已經訪問到的,也就是lazyload上面的這一項最舊的微博的mid
'page':要訪問的頁碼
'pagebar':第二次是0,第三次是1,第一次沒有這項
'pre_page':第二次和第三次都是本頁頁碼,第一次訪問是上頁頁碼
'uid':博主的uid}
url='http://weibo.com/aj/mblog/mbloglist?'+urllib.urlencode(body)
其中,第一次訪問該博主主頁是不需要這些參數的,從訪問第二頁開始需要。
end_id和_k在接連瀏覽同一博主的不同頁面時,都是不需要更新的
評論的加載也是類似思路。
