想要弄一个 github 的爬虫,然后开放爬到的 github 数据 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
imcj
V2EX    奇思妙想

想要弄一个 github 的爬虫,然后开放爬到的 github 数据

  •  
  •   imcj 2016-12-1616:37:39 +08:00 via iPhone 6932 次点击
    这是一个创建于 3221 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想到的可以爬到的内容有 git 仓库信息、会员信息。

    今天突发奇想,想分析各种库的引用情况。
    31 条回复    2016-12-26 22:54:28 +08:00
    JoyNeop
        1
    JoyNeop  
       2016-12-16 16:58:49 +08:00
    曾经有个 GitHunt ,现在可以用 zaoshu.io 搞一个。。。(强插广告手动滑稽
    imcj
        2
    imcj  
    OP
       2016-12-16 17:33:10 +08:00 via iPhone
    @JoyNeop 没有 google 到相关的链接。 zaoshu 是您的产品?
    DoraJDJ
        3
    DoraJDJ  
       2016-12-16 17:48:48 +08:00 via Android
    直接用 GitHub 的 API 不行吗?
    bazingaterry
        4
    bazingaterry  
       2016-12-16 17:53:22 +08:00 via iPhone
    自己爬自己,噢,无限递归
    upczww
        5
    upczww  
       2016-12-16 17:55:31 +08:00 via Android
    有 api
    imcj
        6
    imcj  
    OP
       2016-12-16 18:06:36 +08:00 via iPhone
    @DoraJDJ 允许频次不够用。

    另外我都想法只开发数据库只读权限
    imcj
        7
    imcj  
    OP
       2016-12-16 18:06:51 +08:00 via iPhone
    @upczww 嗯,频次不够用。
    lucifer4he
        8
    lucifer4he  
       2016-12-16 18:50:01 +08:00
    多注册几个账号。多用几个 token 问题解决 啊哈哈

    总比爬起来解析数据好受点
    gdsagdada
        9
    gdsagdada  
       2016-12-16 19:06:50 +08:00
    不道德, github 现在还在亏损,楼主给它省点带宽
    Mdrights
        10
    Mdrights  
       2016-12-16 19:48:35 +08:00 via iPhone
    已有 Telegram 的 bot 了
    nsa
        11
    nsa  
       2016-12-16 21:37:33 +08:00 via iPhone
    可以先用 ghtorrent 的练
    imcj
        12
    imcj  
    OP
       2016-12-16 22:44:16 +08:00
    @lucifer4he 从我个人的需求上的确是解决问题了。我觉得弄一个开放的 GITHUB 数据库这件事听起来不错。

    @gdsagdada 爬取目标网站数据这件事情不算不道德,算的话,那 google 怎么说? Github 亏损这件事情,我觉得从另外一个角度上来看,这是他们赢取资本的策略。

    @nsa 感谢推荐。
    qdk0901
        13
    qdk0901  
       2016-12-19 08:56:22 +08:00   1
    不好爬,我之前写过一个,挂 vps 上爬了一个月,用 tor 不停切换出口 ip 来绕过限制,只爬了 300 多万用户 /仓库的信息,也不是全部信息,只有一部分,比如只有用户 /仓库前几页的 following/followers/stars 等信息。
    这东西还是放弃吧,最终也没什么卵用
    qdk0901
        14
    qdk0901  
       2016-12-19 08:59:57 +08:00
    最终我是用 word2vec ,分析用户仓库关系,做了一个类似于地图的玩意,我称之为代码地图
    用 d3.js 做了可视化
    http://transing.xyz/codeatlas.html
    holajamc
        15
    holajamc  
       2016-12-19 09:20:48 +08:00   1
    做过一个,嗯目前已经改成了毕设项目……
    HolaJam/github_relationship
    imcj
        16
    imcj  
    OP
       2016-12-19 16:34:32 +08:00
    @qdk0901 这些数据还在吗?

    @holajamc 没看懂。
    holajamc
        17
    holajamc  
       2016-12-20 16:33:45 +08:00
    就是我也在做关羽 github 的一个程序
    描述 github 用户之间的关系,用户和 repo 的关系
    imcj
        18
    imcj  
    OP
       2016-12-20 17:01:01 +08:00
    @holajamc 现在还在进行中吗?交流一下。
    holajamc
        19
    holajamc  
       2016-12-21 11:01:14 +08:00
    @imcj github 可以看到项目地址……为了给 github 省带宽就没有写多线程~目前只是做了用户关系,做好了 Neo4j 版本和 MariaDB 版本, MongoDB 正在做,然后就是 repo 的接口也是写好了的包括自己的 repo , star 的 repo 和 fork 的 repo
    imcj
        20
    imcj  
    OP
       2016-12-21 16:35:21 +08:00
    @holajamc 已经可用了吗?
    holajamc
        21
    holajamc  
       2016-12-22 08:59:38 +08:00
    @imcj 目前还在完善~
    imcj
        22
    imcj  
    OP
       2016-12-22 09:01:15 +08:00 via iPhone
    @holajamc 是从网页爬数据?还是从 api ?
    holajamc
        23
    holajamc  
       2016-12-22 10:43:26 +08:00
    @imcj 从网页采集数据, api 几分钟次数就用完了……
    imcj
        24
    imcj  
    OP
       2016-12-22 14:28:27 +08:00
    @holajamc 上面那个哥们给的 ghtorrent 好像是用非常多的 api key
    Codewj
        25
    Codewj  
       2016-12-22 14:50:41 +08:00 via iPhone
    楼主的项目进行的怎么样了
    imcj
        26
    imcj  
    OP
       2016-12-22 15:33:30 +08:00
    @Codewj 没有开始这样的项目,只是一个 idea ,想看看有没有人已经弄过了。交流一下先。

    你曾经也考虑过这样的东西?
    qdk0901
        27
    qdk0901  
       2016-12-23 18:17:23 +08:00
    @imcj 数据还在,没整理很乱, mongodb 存的, 10G 左右
    imcj
        28
    imcj  
    OP
       2016-12-24 00:23:38 +08:00 via iPhone
    @qdj0901 还准备继续吗?都做了些什么?
    gaocegege
        29
    gaocegege  
       2016-12-26 14:21:39 +08:00
    https://github.com/gaocegege/scala-github-relationship

    之前无聊的时候有做过类似的,一开始单机多线程类似事件驱动来爬的, API rate limit 很成问题,后来只能用单线程同步来做。

    对于 limit 的问题,比较好的解决方案是用多几个帐号,用 token ,好像用的好的话 20 多个帐号就可以爬全站。
    Codewj
        30
    Codewj  
       2016-12-26 22:50:58 +08:00 via iPhone
    @imcj 有想法,做个毕业设计
    imcj
        31
    imcj  
    OP
       2016-12-26 22:54:28 +08:00
    @gaocegege 嗯,有很多设想都是建立在数据完整的情况下。爬数据很费时费力。

    @Codewj 可以多交流,这个帖子里面就有几个人在做这件事。我以前爬过网页,但是后来没有继续。

    如果有可能,大家一起维护一份数据每个人都轻松。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2442 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:11 PVG 09:11 LAX 18:11 JFK 21:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86