最近写的爬虫就是为了抓取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在接连浏览同一博主的不同页面时,都是不需要更新的

评论的加载也是类似思路。