Node.js批量抓取高清妹子图片
发布于 15天前 作者 focalhot 1103 次浏览 来自 分享

写了一个抓取图片的小玩意,分享一下。 Github地址:https://github.com/focalhot/node.js-crawler

    //依赖模块
    var fs = require('fs');
    var request = require("request");
    var cheerio = require("cheerio");
    var mkdirp = require('mkdirp');
     
    //目标网址
    var url = 'http://me2-sex.lofter.com/tag/美女摄影?page=';
     
    //本地存储目录
    var dir = './images';
     
    //创建目录
    mkdirp(dir, function(err) {
        if(err){
            console.log(err);
        }
    });
     
    //发送请求
    request(url, function(error, response, body) {
        if(!error && response.statusCode == 200) {
            var $ = cheerio.load(body);
            $('.img img').each(function() {
                var src = $(this).attr('src');
                console.log('正在下载' + src);
                download(src, dir, Math.floor(Math.random()*100000) + src.substr(-4,4));
                console.log('下载完成');
            });
        }
    });
     
    //下载方法
    var download = function(url, dir, filename){
        request.head(url, function(err, res, body){
            request(url).pipe(fs.createWriteStream(dir + "/" + filename));
        });
    };
9 回复

记得格式化代码:

console.log ''demo

不要抓图片了,程序员应该出去泡真实的妹子。

上个月也是自己写了个爬虫爬http://meizhi.im,成功了。 然后过了一天发给别人再运行程序的时候报错了。自己抓了下内容发现是404,但是网页可以正常访问。 网站作者速度真快。
pic 我猜应该是加了UA判断,但是现在还不知道怎么在nodejs中加浏览器的UserAgent的信息.求教@alsotang

网站反爬一般都用些技术?

@HogwartsRico UA 在 header 中,改下 header 就好了。 比如用这个:

User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36

赞(๑╹ڡ╹)╭ 发自 CNodeJs ionic

@alsotang 还真可以了,不过打算用eventproxy控制下并发数,以免再被封

回到顶部