爬个资料吧

Posted 树叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬个资料吧相关的知识,希望对你有一定的参考价值。

搜索自考资料,在网上搜了下这些文档都是可以随便看,但是下载要钱的

先找目标网址  https://max.book118.com/html/2016/1224/76473555.shtm

不用登陆,耶耶耶

方法一

虽然页面禁止右键行为,但是只要浏览器禁止页面js或者是打开改单独图片地址就好了

settings

 

然后通过右键保存,但是数量太多了,想想就麻烦

不如做点啥吧。

方法二

 

 

发现是一个iframe,那打开看看好了,就到了下面的页面

 

 

 

那我只需要第一个接口的信息,后面的接口参数就都有了

 

 

打开单张图片地址发现返回的参数就是图片的完整链接参数的一部分

 

 

下面看粗糙代码

var superagent = require(\'superagent\');
var fs = require("fs");

var i = 0;//文件名
function test(imgs){//下载图片
	var _img = \'7o@o7xcocmkL_slKMQRJ7BmfZy6MmpTR2LRhppJrt@1YmiPLbwQiPSyNJDH6cy0dKYx_OqO5XxA=\'//第一张图片的部分地址
	if(imgs){
		_img = imgs
	}
	var saveImg = \'https://view57.book118.com/img/?img=\'+_img//需要下载的图片地址
        superagent
        .get(saveImg)
        .send({
        	img:_img
        })
        .end((err,res)=>{
        	console.log(\'img===\'+res.body)
        	res.setEncoding("binary")
        	i++;
        	var tmp = "./aa/"+ i +".png"
        	fs.writeFile(tmp, res.body, "binary", function (err) {
		        if (err) {
		          return console.error(err);
		        }else{
		        	 console.log("保存成功");
		        	 setTimeout(function(){//做人低调
		        	 	 getUrl(_img);
		        	 },1500)
		        }
		       
	        });
        })
	
}


function getUrl(_img){//获取图片地址参数
	superagent
    .get(\'https://view57.book118.com/pdf/GetNextPage/?f=RjpcT2ZmaWNlV2ViMzY1XE9mZmljZVdlYlxjYWNoZVxQREZcMTE2MTIyNDE0MDMyMzEzMjUwMjEwMTQ1NDVfMTgxMjQ4XDIxMTM0MzUtNTg1ZTBmYWI0Njk4Yi5kb2MudGVtcA%3D%3D&img=7o%40o7xcocmkL_slKMQRJ7BmfZy6MmpTR2LRhppJrt%401YmiPLbwQiPfCa5XE1j4YCnc1NXftPWUs%3D&isMobile=false&isNet=True&readLimit=m05GD%40CZT1P0GOn8Lv_JjQ%3D%3D&furl=o4j9ZG7fK96K7ALNwHnKKQSGvsVp16t3OGQ8hCU%40qfk6tlpWD7Ja6aejeMBHDc30Bl0SYXklcX15I0vqB0%40iSi0tdf2506q8tknYr5_l2nM%3D\')
    .set(\'Accept\',\'application/json, text/javascript, */*; q=0.01\')
    .set(\'Content-Type\',\'application/json; charset=utf-8\')
    .set(\'Connection\',\'keep-alive\')
    .set(\'Cookie\',\'__cfduid=d36900c15ce242f30af1efa4ffa36dae31522302561; CLIENT_SYS_UN_ID=3rvhcVv2CTUEqq/kHfvAAg==; Hm_lvt_5d91dc9c92e499ab00ba867fc2294136=1542852289,1542852292,1542855730; Hm_lpvt_5d91dc9c92e499ab00ba867fc2294136=1542855772\')
    .set(\'Host\',\'view57.book118.com\')
    .set(\'Referer\',\'https://view57.book118.com/pdf/dXAxNS5ib29rMTE4LmNvbS44MFwyMTEzNDM1LTU4NWUwZmFiNDY5OGIuZG9j?readpage=m05GD%40CZT1P0GOn8Lv_JjQ%3D%3D&furl=o4j9ZG7fK96K7ALNwHnKKQSGvsVp16t3OGQ8hCU%40qfk6tlpWD7Ja6aejeMBHDc30Bl0SYXklcX15I0vqB0%40iSi0tdf2506q8tknYr5_l2nM%3D&token=PDWfni5ovTsVBbpwUGR6QPhtBOXaydS6\')
    .set(\'User-Agent\',\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\')
    .set(\'X-Requested-With\',\'XMLHttpRequest\')
    .send({
    	img:_img
    })
    .end((err,response)=>{
    	var res = JSON.parse(response.text)
        console.log(res.NextPage);//拿到下个接口需要的参数
        
        
    	test(res.NextPage)
      
        
    })
}
test(); 

 下面是部分结果

 

以上是关于爬个资料吧的主要内容,如果未能解决你的问题,请参考以下文章

985大学的高材生只会写代码片段,丢人吗?

985高校的高材生只会写代码片段,丢人吗?

985大学的高材生只会写代码片段,丢人吗?

985大学的高材生只会写代码片段,丢人吗?

985大学的高材生只会写代码片段,丢人吗?

PHP必用代码片段