美女图片小爬虫,嘿嘿

Posted 韭菜茄子

tags:

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

/**
 * Created by Administrator on 2016/9/22 0022.
 */

//依赖的模块
var http=require(‘http‘);
var fs=require(‘fs‘);
var cheerio=require(‘cheerio‘);
var request=require(‘request‘);
var iconv = require(‘iconv-lite‘);

var setParams={
    initUrl:‘http://www.mm131.com/xinggan/2663.html‘,//初始化网页请求地址
    maxNum:10,//设置最大爬取数量
    intervalTime:800,//设置间隔时间
    index:0,//从0开始标记爬取的数量
    nextTimeInitUrl:‘‘,//保存下次爬取图片时需要初始化的网页地址
    logs:‘‘//把日志保存起来,下次手动改initUrl为日志里的地址
};
function getSexyPics(initUrl) {
    var resData=‘‘;
    http.get(initUrl, function (res) {
        res.on(‘data‘, function (chunk) {
            //转换编码
            resData += iconv.decode(chunk,‘gb2312‘);
        });
        res.on(‘end‘, function () {
            //用cheerio模块解析请求的数据
            var $ = cheerio.load(resData);
            var images= {
                 //获取图片标题
                title: $(‘.content h5‘).text().trim(),
                //记录请求页面数
                index: setParams.index = setParams.index + 1
            };
            //下载当前页面的图片
            downloadImg($,images.title,images.index);
            var nextPage=$(‘.content-page a.page-ch:last-child‘).attr(‘href‘);
            var newUrl = ‘http://www.mm131.com/xinggan/‘ + nextPage;
            //如果没有当前组的图片点完则跳转到下一组
            newUrl=nextPage?newUrl:$(‘.updown .updown_r‘).attr(‘href‘);
            newUrl= encodeURI(newUrl);
            //设置最大爬取数量
            if (setParams.index < setParams.maxNum) {
                setTimeout(function(){
                    getSexyPics(newUrl);
                },setParams.intervalTime);
            }
            setParams.nextTimeInitUrl=newUrl;
            setParams.logs=‘下次需要执行的初始化地址是\(替换initUrl即可\)---‘+setParams.nextTimeInitUrl;
            saveLogs(setParams.logs);
        });
    }).on(‘error‘, function (e) {
        console.log("错误:" + e.message);
    });
    function saveLogs(logs){
        fs.exists(‘./logs‘, function (exists) {
            if (!exists) {
                fs.mkdir(‘./logs‘);
            }
            fs.writeFile(‘./logs/‘+‘日志‘+‘.txt‘,logs,‘utf-8‘,function(err){
                if(err)console.log(err);
            })
        });
    }
    function downloadImg($,imgTil,idx){
        var imgUrl=‘‘;
        $(‘.content-pic a img‘).each(function () {
            imgUrl=encodeURI($(this).attr(‘src‘));//获取图片的地址
            var suffix=imgUrl.substring(imgUrl.lastIndexOf(‘.‘));//获取图片后缀名
            console.log(‘第‘+idx+‘张图片---‘+imgTil+‘---‘+imgUrl);
            fs.exists(‘./img‘, function (exists) {
                if (!exists) {
                    fs.mkdir(‘./img‘);
                }
                request(imgUrl).pipe(fs.createWriteStream(‘./img/‘+imgTil+suffix));
            });

        });
    }
}
getSexyPics(setParams.initUrl);

技术分享

觉得好用的给个赞,技术分享...

以上是关于美女图片小爬虫,嘿嘿的主要内容,如果未能解决你的问题,请参考以下文章

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

嘿嘿,几行代码秒出美女素描图

scrapy按顺序启动多个爬虫代码片段(python3)

scrapy主动退出爬虫的代码片段(python3)

根据图片的url地址下载图片到本地保存代码片段

java图片爬虫脚本_代码下载