chrome浏览器console控制台引入jquery,爬取网页数据并下载成csv格式文件

 
 
/*控制台引入jQuery*/
var jquery = document.createElement('script');    
jquery.src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";  
document.getElementsByTagName('head')[0].appendChild(jquery);    
// jQuery.noConflict();//释放 $

var download_content = 'data:text/csv;charset=utf-8,\ufeff';//文件采用 utf-8编码
var download_append = '';
var download_btn = document.createElement('a');
download_btn.setAttribute('id','down_data');
$('.class_name')[0].appendChild(download_btn);//根据calss或者id来选取父元素,将下载链接显示在页面上
$('#down_data').html('----------点击下载!');
$('#down_data').attr('download','download.csv');//设置下载文件的名字
$('#down_data').attr('href','#');
$('#down_data').on('click',function(){
	console.log('添加点击事件!');
	clickDownload(this);
});
// var download_html = $('<a id="down_data" onclick=clickDownload(this)" download="downlaod.csv" href="#">download</a>');

function clickDownload(aLink)
{  
     var str = "title\nforExample\nAAA1,栏位2,栏位3\nBBB1,值2,值3";
     str =  encodeURIComponent(str);
     download_append = encodeURIComponent(download_append);//encodeURIComponent 防止中文乱码
     aLink.href = download_content+download_append;
}


$.ajax({
	url: "https://xxx/xxx/xxx/xxx/xxx/xxx",
	dataType: "json",
	success: function(response){
		console.log(response.data.category);
		var base_url_api_tree = 'https://xxx/xxx/xxx/xxx/xxx/xxx"/api/api_tree/110/';
		$(response.data.category).each(function(index,obj){
			//console.log('-------------------------------'+obj.name+'--------------------------------');
			var api_tree = base_url_api_tree + obj.id;
			console.log(api_tree);
			$.ajax({
				url: api_tree,
				dataType: 'json',
				success: function(response_1){
					console.log('-------------------------------'+obj.name+'--------------------------------');	
					console.log(response_1.data.category);
					var base_api_list_start = 'https://xxx/xxx/xxx/xxx/xxx/xxx/api/api_list/';
					var base_api_list_end = '?page=1&page_size=9999';
					$(response_1.data.category).each(function(index,obj_1){
						$.ajax({
							url: base_api_list_start+obj_1.id+base_api_list_end,
							dataType:'json',
							success:function(response_2){
								console.log('-------------------------------'+obj_1.name+'--------------------------------');
								console.log(response_2.data.data);
								var api_detail_start = 'https://xxx/xxx/xxx/xxx/xxx/xxx/api/api_detail/';
								$(response_2.data.data).each(function(index,obj_2){
									console.log(obj_2.f_id);
									$.ajax({
										url: api_detail_start + obj_2.f_id,
										dataType: 'json',
										success: function(response_3){
											console.log(response_3.data);
											download_append += response_3.data.f_category.name+'\n';
											download_append += '数据来源:"'+response_3.data.f_category.provider_name+'" "'+response_3.data.f_name+'"\n';
											var f_example = response_3.data.f_example;
											f_example = f_example.replace(/,/g,",");
											download_append += '使用示例:'+f_example+'\n';
											download_append += '参数\n';
											download_append += '名称,类型,描述\n';
											$(response_3.data.f_desc).each(function(index,obj_3){
												var sp_1 = obj_3.split(':')[1];
												var sp_2 = obj_3.split(':')[2];
												download_append += sp_1.split(' ')[2]+','+sp_1.split(' ')[1]+',"'+sp_2+'"\n';
											});
											download_append += '可选返回值\n';
											download_append += '名称,类型,描述\n';
											$(response_3.data.f_desc).each(function(index,obj_4){
												var sp_1_r = obj_4.split(':')[1];
												var sp_2_r = obj_4.split(':')[2];
												download_append += sp_1_r.split(' ')[2]+','+sp_1_r.split(' ')[1]+',"'+sp_1_r+'"\n';
											});
											download_append += ' \n';
										}
									});
								});
							}
						});
					});
				}
			});
		});
	}
});


 

猜你喜欢

转载自blog.csdn.net/haiyoung/article/details/78306443