• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mdzz
V2EX  ›  程序员

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

  •  
  •   mdzz · Oct 30, 2017 · 13825 views
    This topic created in 3301 days ago, the information mentioned may be changed or developed.

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


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

    流量图

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


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

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

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


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


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

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

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

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


    你看看这请求次数,流量大小
    corcd
    corcd
    Oct 31, 2017
    47
    心疼煎蛋
    sheng9632
    sheng9632
    Oct 31, 2017
    48
    心疼
    SaltedFish12138
    SaltedFish12138
    Oct 31, 2017 via Android
    49
    抵制所有爬煎蛋的行为
    expy
    expy
    Oct 31, 2017❤️1
    50
    数据库给你们自己下吧,都别折腾了。
    yuxuan
    yuxuan
    Oct 31, 2017❤️1
    51
    就不能换个网站折腾。。。每次看见爬虫 几乎都是煎蛋 我一次都没上过煎蛋 光看你们写爬虫 都了解了煎蛋
    timothyye
    timothyye
    Oct 31, 2017
    52




    看来煎蛋与爬虫一直就有不解之缘……
    xiejc
    xiejc
    Oct 31, 2017
    53
    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);
    });
    }
    gutu
    gutu
    Oct 31, 2017
    54
    反正大家就喜欢挑软柿子捏,

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

    心疼煎蛋...
    forcecharlie
    forcecharlie
    Nov 1, 2017
    71
    爬的人多了如果服务器资源有限就成了 DDOS 攻击了。前几年 12306 抢票插件拖垮 Github 历历在目。
    rswl
    rswl
    Nov 1, 2017
    72
    练功房
    newworld
    newworld
    Nov 1, 2017
    73
    明明还有很多人去爬豆瓣 哈哈哈 没人说么!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2167 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 212ms · UTC 13:51 · PVG 21:51 · LAX 05:51 · JFK 08:51
    ♥ Do have faith in what you're doing.