如何使用Javascript从网页导入简单数据
我遇到的问题似乎有一个简单的答案。我想让我的网站做一个简单的任务,从网页上抓取一段文字 我基本上希望我的代码看起来像如何使用Javascript从网页导入简单数据,javascript,Javascript,我遇到的问题似乎有一个简单的答案。我想让我的网站做一个简单的任务,从网页上抓取一段文字 我基本上希望我的代码看起来像 var str = TextFromWebPage; 我想“抓取”的文本在http://dasd-sharepoint.dasd.org/Schools/STEMAcademy/Pages/default.aspx 如果您在页面上查看(尝试控件F并搜索当前日期,例如:“May-9-2013:”)下五个日期的列表。我想把这个列表用在Javascript的变量中 所以我更喜欢的最终
var str = TextFromWebPage;
我想“抓取”的文本在http://dasd-sharepoint.dasd.org/Schools/STEMAcademy/Pages/default.aspx
如果您在页面上查看(尝试控件F并搜索当前日期,例如:“May-9-2013:
”)下五个日期的列表。我想把这个列表用在Javascript的变量中
所以我更喜欢的最终结果是
var str = new Array("May-9-2013: “F” Day", "May-10-2013: “G” Day", "May-13-2013: “H” Day", "May-14-2013: “I” Day", "May-15-2013: “J” Day", "May-16-2013: “K” Day");
目的:
基本上是为了上学,我总是检查时间。因此,我没有做数学运算,而是做了一个快速的小程序,看看当前时间和当前课程结束的时间。然而,在我的学校里,我们有不同的“信日”,这意味着在不同的日子上课时长是不同的。信函天数以12天为周期,即。周一到周五可能是A-E,但这意味着接下来的一周周一将是F-J。更不用说是下雪天还是休息日了。因此,我想应该有一种方法可以从该地区的网页中获取这些数据,并在代码中使用这些数据来自动检查这是哪一个字母日,而不是使用日历
谢谢你的帮助
这是我正在做的事情的代码
<!DOCTYPE html>
<html>
<head>
//<link rel="stylesheet" type="text/css" href="graphics.css">
<script>
//==========| Data |==========
//These array lists contain the times the class periods start, end, and their title
var Ptest = new Array("starts: 07:25 ends: 15:00 title: Testing", "starts: 07:25 ends: 30:00 title: Testing");
var P14 = new Array("starts: 07:25 ends: 09:00 title: Pd: 1", "starts: 09:04 ends: 10:34 title: Pd: 2", "starts: 10:38 ends: 11:08 title: Lunch", "starts: 11:12 ends: 12:42 title: Pd: 3", "starts: 12:46 ends: 14:23 title: Pd: 4");
var P17 = new Array("starts: 07:25 ends: 08:20 title: Pd: 1", "starts: 08:24 ends: 09:14 title: Pd: 2", "starts: 09:18 ends: 10:08 title: Pd: 3", "starts: 10:12 ends: 11:02 title: Pd: 4", "starts: 11:06 ends: 11:36 title: Lunch", "starts: 11:40 ends: 12:30 title: Pd: 5", "starts: 12:34 ends: 13:24 title: Pd: 6", "starts: 13:28 ends: 14:23 title: Pd: 7");
var P57 = new Array("starts: 07:25 ends: 09:00 title: Pd: 5", "starts: 09:04 ends: 10:34 title: Pd: 6", "starts: 10:38 ends: 11:08 title: Lunch", "starts: 11:12 ends: 12:42 title: Pd: 7", "starts: 12:46 ends: 13:36 title: Advisory", "starts: 13:40 ends: 14:23 title: Seminar");
//---------------------------------
//==========| Variables |==========
var input = P17; //What set of data to use
var currentSlot = 0; //What the current Period is
var over = false; //If the current school day if over
//---------------------------------
//==========| Actions |==========
window.onload=function() {
setInterval(function() {refresh();}, 1); //Loop
}
//---------------------------------
//==========| Core Functions |==========
function refresh() {
display();
updateClock();
}
function display() {
var currentTime = getTime();
var timeInSec = ((parseInt(currentTime.slice(0,2)))*3600)+((parseInt(currentTime.slice(3,5)))*60)+(parseInt(currentTime.slice(6,8)));
if (currentSlot >= input.length) {over = true;}
if (over == false) {
var data = input[currentSlot];
var nextSlot = input[currentSlot + 1];
var PdEndTime = ((parseInt(data.slice(20,23)))*3600)+((parseInt(data.slice(23,25)))*60);
var PdStart = data.slice(8,13);
var PdEnd = data.slice(20,25);
var PdTitle = data.slice(32,data.length);
if (nextSlot!==undefined) {
var NPdStart = nextSlot.slice(8,13);
var NPdEnd = nextSlot.slice(20,25);
var NPdTitle = nextSlot.slice(32,nextSlot.length);
}
var timeLeft = PdEndTime - timeInSec;
var hLeft = Math.floor(timeLeft / 3600);
var mLeft = Math.floor(timeLeft / 60);
var sLeft = Math.floor(timeLeft % 60);
if (hLeft > 0) {mLeft = mLeft - (hLeft*60);}
hLeft = add0(hLeft);
mLeft = add0(mLeft);
sLeft = add0(sLeft);
if (timeInSec > PdEndTime) {currentSlot++;}
document.getElementById("display").innerHTML = PdTitle+" ends at "+PdEnd+", in "+hLeft+":"+mLeft+":"+sLeft;
}
else {document.getElementById("display").innerHTML = "School is over!";}
}
//---------------------------------
//==========| Misc Functions |==========
function getTime() {
var clock = new Date();
var h = clock.getHours();
var m = clock.getMinutes();
var s = clock.getSeconds();
h = add0(h);
m = add0(m);
s = add0(s);
return h+":"+m+":"+s;
}
function updateClock() {
document.getElementById("clock").innerHTML = getTime();
}
function add0(i) {
if (i < 10) {
i = "0"+i;
}
return i;
}
function changeInput(newInput) {
input = newInput;
currentSlot = 0;
}
//---------------------------------
</script>
</head>
<body>
<p id="clock" class="textCenter"></p>
<p id="display" class="textCenter"></p>
<p class="textCenter">
<input type="button" onClick="changeInput(P14)" value="1-4 Block">
<input type="button" onClick="changeInput(P17)" value="1-7 Normal">
<input type="button" onClick="changeInput(P57)" value="5-7 Block">
</p>
</body>
</html>
//
//===============数据|==========
//这些数组列表包含类时段开始、结束的时间及其标题
var Ptest=新数组(“开始:07:25结束:15:00标题:测试”,“开始:07:25结束:30:00标题:测试”);
var P14=新数组(“开始:07:25结束:09:00标题:Pd:1”,“开始:09:04结束:10:34标题:Pd:2”,“开始:10:38结束:11:08标题:午餐”,“开始:11:12结束:12:42标题:Pd:3”,“开始:12:46结束:14:23标题:Pd:4”);
var P17=新数组(“开始:07:25结束:08:20标题:Pd:1”,“开始:08:24结束:09:14标题:Pd:2”,“开始:09:18结束:10:08标题:Pd:3”,“开始:10:12结束:11:02标题:Pd:4”,“开始:11:06结束:11:36标题:午餐”,“开始:11:40结束:12:30标题:Pd:5”,“开始:12:34结束:13:24标题:Pd:6”,“开始:13:28结束:14:23标题:Pd:7”);
var P57=新数组(“开始:07:25结束:09:00标题:Pd:5”,“开始:09:04结束:10:34标题:Pd:6”,“开始:10:38结束:11:08标题:午餐”,“开始:11:12结束:12:42标题:Pd:7”,“开始:12:46结束:13:36标题:咨询”,“开始:13:40结束:14:23标题:研讨会”);
//---------------------------------
//===============变量|==========
var input=P17;//使用哪一组数据
var currentSlot=0;//当前期间是什么
var over=false;//如果当前上课日结束
//---------------------------------
//===============行动|==========
window.onload=function(){
setInterval(函数(){refresh();},1);//循环
}
//---------------------------------
//===============核心功能|==========
函数刷新(){
显示();
updatelock();
}
函数显示(){
var currentTime=getTime();
var-timeinset=((parseInt(currentTime.slice(0,2)))*3600+((parseInt(currentTime.slice(3,5)))*60+(parseInt(currentTime.slice(6,8));
如果(currentSlot>=input.length){over=true;}
如果(超过==错误){
var数据=输入[currentSlot];
var nextSlot=输入[currentSlot+1];
var PdEndTime=((parseInt(data.slice(20,23)))*3600+((parseInt(data.slice(23,25)))*60);
var PdStart=data.slice(8,13);
var PdEnd=data.slice(20,25);
var PdTitle=data.slice(32,data.length);
if(nextSlot!==未定义){
var NPdStart=nextSlot.slice(8,13);
var NPdEnd=下一批切片(20,25);
var NPdTitle=nextSlot.slice(32,nextSlot.length);
}
var timeLeft=PdEndTime-timeinse;
var hLeft=数学楼层(timeLeft/3600);
var mLeft=数学层(时间层/60);
var sLeft=数学楼层(时间间隔%60);
如果(hLeft>0){mLeft=mLeft-(hLeft*60);}
hLeft=add0(hLeft);
mLeft=add0(mLeft);
sLeft=add0(sLeft);
如果(timeInSec>PdEndTime){currentSlot++;}
document.getElementById(“display”).innerHTML=PdTitle+“结束于“+PdEnd+”,在“+hLeft+”中:“+mLeft+”:“+sLeft;
}
else{document.getElementById(“display”).innerHTML=“学校结束了!”;}
}
//---------------------------------
//===============其他功能|==========
函数getTime(){
变量时钟=新日期();
var h=clock.getHours();
var m=clock.getMinutes();
var s=clock.getSeconds();
h=add0(h);
m=add0(m);
s=添加0(s);
返回h+“:“+m+”:“+s;
}
函数updatelock(){
document.getElementById(“时钟”).innerHTML=getTime();
}
函数add0(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
函数changeInput(newInput){
输入=新输入;
currentSlot=0;
}
//---------------------------------
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Example</title>
<script type="text/javascript" src="jquery-1.9.0.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
var url="http://dasd-sharepoint.dasd.org/Schools/STEMAcademy/Pages/default.aspx";
$.get(url,function(res){
var p = new DOMParser();
var doc = p.parseFromString(res, "text/html");
var anchors=$(doc).find(".dfwp-column")[0].getElementsByTagName("a");
var arr=[];
for(var i=0;i<anchors.length;i++){
arr.push(anchors[i].textContent);
}
console.log(arr);
});
});
</script>
</head>
<body>
<div class="bigDiv">Big</div>
<div class="smallerDiv">Small</div>
</html>