(转)lofter 文章图片采集

By admin at 2018-09-14 • 1人收藏 • 271人看过
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培训群的 撒旦微笑 提供


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
Htmlayout皮肤Htmlayout皮肤引擎介绍
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...