查看搜狐博客的列表页面的源代码会发现,列表的内容在源代码里面不存在,搜狐博客是通过AJAX的方式动态加载日志列表的。以 http://zouhengfu.blog.sohu.com/entry/ 为样本来进行分析:
日志的列表与分页分别会在下面的代码里:
1<div id="entryList">
2 <div style="line-height:100px;">正在加载日志数据</div>
3</div>
4<div class="item-info">
5 <div id="pageText"></div>
6</div>
2 <div style="line-height:100px;">正在加载日志数据</div>
3</div>
4<div class="item-info">
5 <div id="pageText"></div>
6</div>
经FireBug的分析,发现实际的日志列表内容是由:http://zouhengfu.blog.sohu.com/action/v_frag-ebi_c223f68792-pg_2/entry/ 提供的
在这个URL中,从左到右:
zouhengfu | 不具有标识作用,替换成www一样可以 |
c223f68792 | 由源代码中var _ebi = 'c223f68792'执行escape而得到: var url='/action/v_frag-ebi_'+escape(_ebi); //common.v.081016.js |
-pg_2 | 页码,2代表第二页,可以把此项去掉获得第一页内容 |
在做搜狐博客抓取时可以参考。