首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

听说你们把煎蛋爬趴下了,于是我也爬了一下发现没多大数据量,就很不理解

  •  
  •   mdzz · 2017-10-30 20:59:06 +08:00 · 10257 次点击
    这是一个创建于 748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    爬虫比较简单,比较快就写好了,爬的过程中遇到了反爬策略, 大约 50 个请求之后就会 403, 于是给请求分组,一组 50 个,组与组之间间隔 60 秒,就没有再 403 过了。


    下面是抓取过程中一组共 50 个请求的网络流量图

    流量图

    约 10KB/s 的流量大约持续 30s 左右,一组流量约 300KB。


    总共爬了三个版块,妹子图、无聊图和段子

    • 妹子图:有 241 页共 5 组
    • 无聊图:有 294 页共 6 组
    • 段子:有 132 页共 3 组

    共计 14 组,若按一组 300KB 计算,不超过 5MB,抓取总时间需要约 20 分钟。


    下面是抓取后的数据库,数据库不到 16MB (抓取过程启用了 gzip,故网络流量远小于最终数据库大小) 数据库


    我就不明白了,怎么就把煎蛋爬趴下了?怎么就爬趴下了?爬趴下了?

    73 回复  |  直到 2017-11-01 20:02:05 +08:00
        1
    takanasi   2017-10-30 21:02:47 +08:00
    又不是只有一个人爬,况且首页你还没爬呢
        2
    Keyblade   2017-10-30 21:53:23 +08:00
    花式自挂
        3
    green15   2017-10-30 22:03:17 +08:00 via iPhone
    不理解就好好读书,别乱爬,脏!
        4
    zjyl1994   2017-10-30 22:28:42 +08:00   ♥ 1
    我就不明白了,我就双十一买一件衣服怎么就把淘宝买崩了。(全国又不是你一个人在爬,好多新手都折腾煎蛋。。。)
        5
    zhijiansha   2017-10-30 22:57:48 +08:00 via iPhone
    能否分享下爬虫代码?
        6
    siyemiaokube   2017-10-30 23:15:25 +08:00 via iPhone   ♥ 33
    大概是五楼这种比较多
        7
    cnyang   2017-10-30 23:17:19 +08:00
    @siyemiaokube 哈哈
        8
    hugee   2017-10-30 23:20:59 +08:00 via Android
    煎蛋技术能力有限吧,2333
        9
    pynix   2017-10-30 23:43:20 +08:00 via iPhone
    你们把人家爬挂了
        10
    zlfzy   2017-10-30 23:51:36 +08:00 via iPhone   ♥ 1
    爬这些老图不如爬汤
        11
    stebest   2017-10-31 00:27:54 +08:00 via Android   ♥ 3
    有多少人梦想过全国人民给他捐一块钱
        12
    changwei   2017-10-31 01:15:28 +08:00 via Android
    热图访问人数多,cdn 有缓存应该会稍微好一点吧,老图的话没有缓存都是要回源的,可能更容易爬跨人家网站。
        13
    bxb100   2017-10-31 01:18:35 +08:00 via Android
    额,什么时候请求数和网络流量关联在一起了
        14
    Perry   2017-10-31 02:48:07 +08:00
    楼主你要是分享了代码,煎蛋说不定就真的要挂
        15
    opengps   2017-10-31 07:37:38 +08:00 via Android
    都不能好好的看图嘛?
        16
    taresky   2017-10-31 07:41:25 +08:00 via Android   ♥ 1
    ID 贴切
        17
    kaifeii   2017-10-31 07:51:00 +08:00
    你们天天这么搞,干脆煎蛋做个开放 api 卖钱得了,或者做个延迟同步的共享读库
        18
    cyn   2017-10-31 07:57:25 +08:00 via Android
    煎蛋是什么
        19
    Ryosan   2017-10-31 08:06:43 +08:00 via Android   ♥ 7
    id 如本人
        20
    chnyang   2017-10-31 08:17:22 +08:00 via Android
    @cnyang。。。你好混 ID 的同志
        21
    opengps   2017-10-31 08:22:57 +08:00
    @Ryosan 特意看了一眼,确实是
        22
    mcds   2017-10-31 08:33:36 +08:00
    19 楼好评~
        23
    toono   2017-10-31 08:37:57 +08:00
    @cyn 原以为“煎蛋”是京东,谁知道,煎蛋就是煎蛋网
        24
    Acebiu   2017-10-31 08:40:56 +08:00 via Android
    被随便带带节奏喊技术无罪的是不是也是你们?
        25
    knva   2017-10-31 08:41:12 +08:00   ♥ 1
    求你了,别爬煎蛋了.
        26
    Januser   2017-10-31 09:01:10 +08:00   ♥ 2
    “我就是踹了他一脚,他怎么就能死了?”

    楼主和其他千千万万踹了煎蛋一脚的垃圾都这么说。
        27
    momocraft   2017-10-31 09:07:18 +08:00
    爬虫门槛太低了。
    讲真比脚本小子还低,又有妹子图形成正反馈。可怜这些做内容的网站。
        28
    malkavia   2017-10-31 09:15:03 +08:00
    我没记错的话,好多新手教程都是爬煎蛋爬糗百的
        29
    lingo   2017-10-31 09:18:48 +08:00
    赞 19L
        30
    7654   2017-10-31 09:23:14 +08:00
    楼主该看看煎蛋的 PV 什么的
    一个 WP 博客站能有这个数据已经很了不起了
        31
    Xrong   2017-10-31 09:24:03 +08:00
    楼主这种爬虫算好的了,有些入门的新手连个延迟都不加一顿瞎搞。CDN 请求大量回源,源站也很蛋疼。。。再说一些小破资源站哪里有那么多资源去弄些反爬措施。
        32
    Felldeadbird   2017-10-31 09:26:07 +08:00
    把代码分享出来吧。让全国都去爬就体验了威力。233333
        33
    bsidb   2017-10-31 09:26:59 +08:00
    煎(jian)蛋(dan)
        34
    8023   2017-10-31 09:36:02 +08:00 via Android
    No individual raindrop ever considers itself responsible for the flood.
        35
    smgui   2017-10-31 09:42:22 +08:00
    设计爬虫尽量温和,杀鸡取卵不是一个文明人正常的做法
        36
    croz   2017-10-31 09:53:38 +08:00   ♥ 1
    @bsidb #33 是 jandan,(手动滑稽)
        37
    laqow   2017-10-31 09:53:50 +08:00 via Android   ♥ 1
    因为刚学编程 2 小时的傻子也能写出煎蛋的爬虫
        38
    lyhapple   2017-10-31 09:54:17 +08:00
    我想爬汤, 奈何网络太渣渣, 没有威屁恩
        39
    logOo   2017-10-31 10:28:16 +08:00
    @lyhapple 看了你的回复,好像打了新的世界。。
        40
    wfd0807   2017-10-31 10:43:49 +08:00
    @zlfzy
    @lyhapple
    爬汤是什么?
        41
    zlfzy   2017-10-31 10:47:25 +08:00
    @wfd0807 tumblr

    @lyhapple 用海外的 vps 爬,快如闪电
        42
    onlyhot   2017-10-31 10:55:39 +08:00 via iPhone
    能耐这么大去爬淘宝,煎蛋这垃圾网站也不能显示你技术多牛,你说是不?
        43
    hxndg   2017-10-31 10:58:22 +08:00
    @wfd0807 汤不热,上面有各种少儿不宜的东西,有的还有联系方式.....
        44
    huang5587783   2017-10-31 11:01:29 +08:00 via iPhone
    煎蛋的作用就是训练爬虫?
        45
    slgz   2017-10-31 11:03:53 +08:00
    @laqow 真的吗, 我是小学生别骗我
        46
    yu099   2017-10-31 11:15:45 +08:00 via Android   ♥ 3


    你看看这请求次数,流量大小
        47
    corcd   2017-10-31 11:25:14 +08:00
    心疼煎蛋
        48
    sheng9632   2017-10-31 11:31:34 +08:00
    心疼
        49
    SaltedFish12138   2017-10-31 11:43:36 +08:00 via Android
    抵制所有爬煎蛋的行为
        50
    expy   2017-10-31 12:49:47 +08:00   ♥ 1
    数据库给你们自己下吧,都别折腾了。
        51
    yuxuan   2017-10-31 13:00:27 +08:00   ♥ 1
    就不能换个网站折腾。。。每次看见爬虫 几乎都是煎蛋 我一次都没上过煎蛋 光看你们写爬虫 都了解了煎蛋
        52
    timothyye   2017-10-31 13:38:02 +08:00




    看来煎蛋与爬虫一直就有不解之缘……
        53
    xiejc   2017-10-31 13:41:43 +08:00
    var cheerio = require('cheerio');
    var request = require('request-promise');
    var iconv = require('iconv-lite');
    var EventProxy = require('eventproxy');
    var fs = require("fs");
    var PATH = '/Users/xie/Documents/images/';
    var ep = EventProxy.create();
    var total = 160;
    var result = {
    list: []
    }
    ep.on('finish', function(page) {
    total = total - 1;
    if (total > 0) {
    matches(total);
    } else {
    fs.writeFile('images.json', JSON.stringify(result), function(error) {
    if (error) {
    console.log(error);
    } else {
    console.log('save');
    }
    process.exit(1);
    });

    }
    })
    matches(total);
    function matches(page) {
    //var url = `http://jandan.net/pic/page-${page}#comments`;
    var url = `http://jandan.net/xxoo/page-${page}#comments`;
    request({
    method: 'GET',
    url: url,
    encoding: null
    }).then(function(body) {
    var content = iconv.decode(body, 'utf-8');
    $ = cheerio.load(content);
    var matchListRow = $('.view_img_link');
    $(matchListRow).each(function(i, element) {
    var item = $(element).attr('href');
    var res_url = 'http:' + item;
    // var name = PATH + item.slice(item.lastIndexOf('/') + 1);
    result.list.push(res_url);
    // request(res_url).on('response', function(response) {
    // console.log(response.statusCode) // 200
    // }).pipe(fs.createWriteStream(name));
    });
    ep.emit('finish');
    }).catch(function(err) {
    if (err)
    return console.error(err);
    });
    }
        54
    gutu   2017-10-31 13:57:14 +08:00
    反正大家就喜欢挑软柿子捏,

    煎蛋这种小站,能存活到现在也算难得了。
        55
    z0z   2017-10-31 14:05:32 +08:00
    说的我也想学学如何造一个爬虫了
        56
    Plsea   2017-10-31 14:26:16 +08:00
    煎蛋太惨了 爬汤吧 2333
        57
    helica   2017-10-31 14:33:52 +08:00 via iPhone
    我开始爬的 h 网和 p 站…
        58
    joker2015   2017-10-31 14:56:25 +08:00 via Android
    恭喜楼主又吸引了一波仇恨(ಡωಡ)
        59
    skylancer   2017-10-31 15:04:17 +08:00   ♥ 1
    我的天 你流量小就代表资源小了?
    我建议搜搜什么是 CC 和 DrDOS
        60
    Chappako   2017-10-31 15:16:35 +08:00
        61
    Nostalgiaaaa   2017-10-31 15:18:14 +08:00   ♥ 1
    爬虫教程尽量就别发出来的。。人一多就相当于 DDoS 了
        62
    xiejc   2017-10-31 15:26:43 +08:00   ♥ 1
    我能不能把上边的代码删了,感觉不太好😢
        63
    silencefent   2017-10-31 15:40:37 +08:00   ♥ 4
    我实在他妈不明白,爬虫这种含量的事儿还有人炫耀?写个爬虫屌的不行了?听人家说了这样不好还爬?这些年教育都到狗肚子里去了?
        64
    justtery   2017-10-31 16:37:22 +08:00
    上满的去搜 知乎爬虫。。豆瓣电影。。豆瓣读书的爬虫。。一堆一堆的。。。
        65
    iFlicker   2017-10-31 16:43:36 +08:00   ♥ 1
    第一,煎蛋是个小站,真的是个小站,不是百度腾讯阿里巴巴谷歌亚马逊非死不可。
    第二,你一个人流量小了,一千个人呢?一万个人呢?十万个人呢?,你知道控制频率,新手们可不知道。
    第三,你们就饶了煎蛋吧,已经是少有的摸鱼净土了。。。。。
        66
    glacier2002   2017-10-31 17:23:37 +08:00
    欢迎来扒 btstar.info 数据 😢
        67
    wangxiaohao   2017-10-31 18:31:55 +08:00
    哈哈哈哈 心疼煎蛋 1s
        68
    Karblue   2017-11-01 00:59:14 +08:00
    你家里这么多电器,我搬台电视机也没拿多少东西嘛…再说了,皇军吃你几个西瓜怎么了…… 来自 jandan。
    自己作恶还觉得理所当然。
        69
    ajan   2017-11-01 10:48:51 +08:00
    求楼主的 jandan.db
        70
    z1154505909   2017-11-01 14:51:21 +08:00
    练手找招聘,租房的网站练啊,别找煎蛋,一个小站不容易,
    还有就是新手写爬虫大多都不知道控制频率,
    只知道爬爬爬.不知道手下留情

    心疼煎蛋...
        71
    forcecharlie   2017-11-01 15:20:18 +08:00
    爬的人多了如果服务器资源有限就成了 DDOS 攻击了。前几年 12306 抢票插件拖垮 Github 历历在目。
        72
    rswl   2017-11-01 15:41:37 +08:00
    练功房
        73
    newworld   2017-11-01 20:02:05 +08:00
    明明还有很多人去爬豆瓣 哈哈哈 没人说么!
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2191 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 00:37 · PVG 08:37 · LAX 16:37 · JFK 19:37
    ♥ Do have faith in what you're doing.