在这个教程中,我们将会使用AJAX(Aysnchronous Javascript and XML),一个创建异步web应用的技术,从别人的网站获取新闻标题并定期更新。请注意,爬取别人的网站内容并在没有得到合法授权的情况下使用可能涉及侵权,所以在开始前请确保你有对应网站的合法授权。
这个教程分成两个部分:注册阿里云国际站和使用AJAX获取新闻。
阿里云国际站注册教程
- 访问阿里云的官方网站: https://www.alibabacloud.com/
- 点击网站右上角的 “Free Account”(免费账号) 按钮。
- 在打开的页面中,填写你的邮箱地址和密码,然后点击 “Create Free Account”(创建免费账号)按钮。
- 在下一页,填写你的个人信息和支付信息。 提示:阿里云会为免费账户收取1美元的验证费用以避免垃圾账户,不过注册之后会退还。
- 最后,在你的邮箱中确认注册邮件,就完成了阿里云国际站的注册。
使用AJAX获取新闻
要使用AJAX获取新闻标题,你需要将新闻网站的RSS或JSON版块作为数据源。大部分新闻网站都会提供RSS或者JSON版块。以下是一段简单的使用AJAX从RSS源获取新闻的Javascript代码:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
parseXml(this);
}
};
xhr.open("GET", "rss url", true);
xhr.send();
function parseXml(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("item");
for (var i = 0; i< x.length; i++) {
console.log(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
}
}
这个代码首先创建一个新的XMLHttpRequest对象用于从RSS源获取数据。当请求状态变成4(代表请求已完成)且状态码为200(代表请求成功)时,将请求得到的XML数据传入parseXml函数。这个函数读取出所有的新闻条目,并打印出新闻标题。
以上步骤完成后,你得到的是一个每次刷新页面都会打印出最新的新闻标题的网站。要达到“定期更新”新闻的效果,你还需要使用setInterval函数:
setInterval(function(){
//Place the AJAX code here
}, 60000);
这样,浏览器就会每60秒(60000毫秒)执行一次括号内的函数。将上述的AJAX代码放入这个函数中,你就得到了一个每60秒更新一次新闻标题的网站。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/171791.html