3213?1442652660

【任务】 github 数据爬取 正常


LiZX添加于 04/19/2016 09:55
历史数据的爬取有三种方式:
1.利用ghtorrent提供的历史数据。但是没有提供homepage字段;需要另爬readme
2.先用/repositories/ API 先获取项目列表,然后利用repos/:owner/:repo API爬取详细信息。需要另爬readme
3.先用/repositories/ API 先获取项目列表,然后用获得的项目url爬取项目主页然后抽取信息。但是没有日期,没有language;可以直接抽取readme

 综合考虑:后续处理必须用到homepage,且尽量保证信息的完整性,计划用第二种方式


新数据的爬取有两种方式:
1.利用https://api.github.com/search/repositories 持续爬取。但是问题是,如果项目是fork的话,没有返回父项目的信息

2.还是利用/repositories/ API

目前打算用第二种方式,因为它返回的数据本身都是按创建时间排序的


因为数据量太多,想用分布式的形式爬,大体思路如下:




回复(6)
  • 3213?1442652660
    LiZX 8年前

    尹老师,可以利用他提供的api获取所有public的repos

  • 5?1460204756
    尹刚 8年前

    恩。但是,自己爬的话,如何实现对github中所有repo页面的覆盖式爬取呢?

  • 3213?1442652660
    LiZX 8年前

    尹老师您的意思是咱们用gittorrent的数据来获取历史数据?但是它的数据集里没有项目的homepage这个字段,而后续的去重模块要用到这个字段。所以才打算要自己去爬。

  • 5?1460204756
    尹刚 8年前

    这个数据不需要实时,一个月的延迟都没关系。

  • 3213?1442652660
    LiZX 8年前

    好的,尹老师,我这就着手搞起来。

    另外,gittorrent目前最新的mysql数据集是3月16号的,应该没有停止发布,他是先把数据以nosql的形式存到mongdb中,频率是每天一次;然后再抽取成结构化数据存到mysql中,这个的频率不太固定,十天半月的应该都有可能。

  • 5?1460204756
    尹刚 8年前

    很好的思考和设计!readme如果是一个痛点,可以先不考虑。

    另外gittorrent,是不是已经停止发布了?

0?1470885445
登录后可添加回复
  • 当前状态 新增
  • 选定优先级 正常
  • 指派给 LiZX
  • 里程碑 --
  • 开始日期 04/19/2016
  • 结束日期
  • 预计工时(H) 0.00 hour
  • 完成度 0%
  • 关联Commit

© Copyright 2007~2021 国防科技大学Trustie团队 & IntelliDE 湘ICP备 17009477号

问题和建议
还能输入50个字符 Submit

加入QQ群

关注微信APP


×