背景:事情源于我用python抓图的时候碰到图片的url用js加密,这种情况一般会发生在漫画网站或者是论坛中。用一般 view-source: 的方法无法直接解析。因此在MOOC视频的启发下,开始用phantomjs进行解析页面,并输出图片正确的url。
1 网址
http://jandan.net/ooxx
2 安装环境
python 3.6 Download Python | Python.org
nodejs Node.js
phantomjs Download PhantomJS
3 js代码
将其保存为 “pic.js”,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| var num = 1; GetPic('http://jandan.net/ooxx/page-' + num);
function GetPic(url) { console.log('->' + url); num++; var page = require('webpage').create(); page.open(url, function(status) { if(status === "success") { var pic_url = page.evaluate(function() { var arr = new Array(); var len = document.getElementsByTagName('img').length; for(var i = 0;i<len;i++) { arr[i] = document.getElementsByTagName('img'[i].getAttribute("src"); } return arr; }); console.log('img cnt:' + pic_url.length); for (var i=0;i<pic_url.length;i++) { console.log(pic_url[i]); } GetPic('http://jandan.net/ooxx/page-' + num); } else { console.log('Failed!'); } }); }
|
4 运行
打开cmd
,cd进入代码的根目录下,执行以下命令:
效果如图:
5 下载图片
配合IDM批量导入,或者Aria2配合食用。