用xmlhttp获取百度贴吧的帖子列表
上一篇 /
下一篇 2007-12-27 15:30:12
/ 个人分类:悠闲生活
百度的贴吧没有提供rss聚合,使得其他网站很难取得帖子列表。所以想在自己的门户上列出某个贴吧最新的帖子列表,看来得另想办法。
获取其他网站的内容最简单的办法就是获取html代码,然后从中分离出想要的内容。要想获取html代码那就离不开xmlhttp了,可是一个贴吧首页的代码量少说也有几十K,读取全部代码再分离,效率堪忧。只好另辟蹊径——用Wap站的贴吧。代码量少,只有几K,分析起来也比较容易。唯一不足的就是wap一页只有十条记录。
不废话了,看代码。正则表达式写得太烂了,见谅!
<script type="text/javascript">
function createXMLHttpRequest(){
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(){
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET","http://wapp.baidu.com/f?kw=金蝶",true);
xmlHttp.send(null);
}
function handleStateChange(){
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
result = xmlHttp.responseText;
DeelResult(result);
}
}
}
function DeelResult(str){
str = str.substring(str.indexOf("<br/>"),str.indexOf("<a accesskey"));
var re = /z=(.+?)[&]/g;
id = str.match(re);
var re = /["]>(\s+.)(.+?)</g;
txt = str.match(re);
inner="";
for (i=0;i<10 ;i++ )
{
inner += "<a target=\"_blank\" href=\"http://tieba.baidu.com/f?k"+id[i]+txt[i]+"/a><br>";
}
document.getElementById("results").innerHTML = inner;
}
startRequest();
</script>
<div id="results" ></div>
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: