(转)lofter 文章图片采集

By admin at 2018-09-14 • 1人收藏 • 1413人看过
import console;
import web.rest.client;
import fsys;
import inet.url;
var path = fsys.getSpecial(0 /*_CSIDL_DESKTOP*/)++"/img"//保存目录

//获取文章图片地址url为文章地址,返回img地址数组
var img_get = function (url) {

	/*
	配置不同主题的抓取参数;
	var config = {
	["63001"] = "img";
	["132003"] = "pic";
	["133001"] = "pic";
	};
	*/
    var http = web.rest.client();
    var img = http.api(url);

    import string.html;

    var html = string.html(img.get());

    //var id = html.queryEles(name = "themename").content; //获取主题ID


    var ele = html.queryEles(
        tagName = "div";

	)

    var data = {};

    /*
        
    //按主题配置抓取
    for(k,v in ele){
        
    if(config[id]){
    if(v.class=config[id]){
    table.push(data,v.a[1].img[1].src)
    }
    }
    else {
    console.log("缺少配置文件")
    }
        
    }
    */
    for (k, v in ele) {

        if (v.class = "pic") {

            table.push(data, v.a ? v.a[1].img[1].src : v[1].a[1].img[1].src)//如果个别主题样式差异,可以单独设置config

        }

    }
    return data;
};

//默认从当前页采集到最后一页
var lofter_list = function (url) {


    //var lists = {};


    while (url) {
        var http = web.rest.client();
        var img = http.api(url,, {
            next = `\<a class="next" href="(.*?)" id="__next_permalink__"\>下一篇.*?\</a\>`;
            title=`\<title\>.*-(.*?)\</title\>`;
        });
        if (img.get() = null) {

            console.log("地址输入有误")
            return;

        }
        import inet.url;
        //table.push(lists, url)
        console.log("开始采集", url)
        var img_list = img_get(url)

        var title = img.get().title;
        var name = inet.url.getFileName(url);


        for (k, v in img_list) {
            //console.log(v)
            var http = web.rest.client()
            var img = http.get(v);
            var msg = string.save(path++"\"++title++"\"++name++"\"++k++".jpg",img);
			console.log(name++"第"++k++"张", msg)
		
		}


        console.log(url, '采集完成\r\n')

        url = console.askYesNo("是否继续采集,按Y键继续,按N键取消") ? (img.get().next) : null


    }
    console.log("全部采集完成")
    //return lists;
};
var url = "http://unicornwj.lofter.com/post/33a459_effbd7ee";

lofter_list(url)



console.pause()

感谢: aar培训群的 撒旦微笑 提供


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...