js抓取网页数据,其实很简单,没那么复杂,需要使用3个函数配合使用:

  1. indexOf 返回某个指定的字符串值在字符串中首次出现的位置
  2. lastIndexOf 返回一个指定的字符串值最后出现的位置
  3. substring 提取字符串中介于两个指定下标之间的字符

简单来说就是 获取元素的开始位置、结束位置,然后进行提取,得到结果。

案例下载 :中国天气网接口请求封装 访问密码: 3146

注册登录(城通网盘)

一、获取网页数据在这里插入图片描述

在这里插入图片描述

二、封装提取数据的方法

		getAlarms(val,later,before){
				var alarm=val;
				//某个指定字符之后
				var index=alarm.indexOf(later);
				alarm=alarm.substring(index+1,alarm.length);
				
				//某个指定字符之前
				index=alarm.lastIndexOf(before);
				alarm=alarm.substring(0,index);

				return alarm  
		},

三、多条数据提取(有规律的)

在这里插入图片描述
在这里插入图片描述

			//去除空数组
			removerNull(arr){
				for(var i = 0;i<arr.length;i++){
				    if(arr[i]==''||arr[i]==null||typeof(arr[i])==undefined){
				        arr.splice(i,1);
				        i=i-1;
				    }
				}
				return arr;
			},
			//某个元素之后,某个元素之前
			getlaterAndbefore2(val,later,before){
				var alarm=val;
				//某个指定字符之后
				var index=alarm.indexOf(later);
				alarm=alarm.substring(index,alarm.length);
			
				//某个指定字符之前
				index=alarm.indexOf(before);
				alarm=alarm.substring(0,index);
				return alarm  
			},
			//某个元素之后 +1
			getlater1(val,later){
				var alarm=val;
				//某个指定字符之后
				var index=alarm.indexOf(later);
				alarm=alarm.substring(index+1,alarm.length);
				return alarm  
			},

效果我就不演示了,拜

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐