【问题标题】:How to retrieve Collection items from Internet archive如何从 Internet 档案中检索收藏项目
【发布时间】:2020-07-22 10:50:07
【问题描述】:

是否有 api 来检索特定集合(即子集合)的项目?

示例: 集合 movies 的 HTML 可以从 https://archive.org/details/movies 和 JSON/meta 从 https://archive.org/metadata/movies/ 检索。然而,JSON 负载没有引用集合的子项(即“Arts & Music”、“Community videos”等子集合)。

我正在尝试围绕 Internet 归档 API 构建一个包装器。 API 信息非常稀疏[0][1][2] 且不完整。

注意:如果您的声望高于 1500,请创建一个“internet-archive”标签

[0]http://blog.archive.org/2011/03/31/how-archive-org-items-are-structured/ [1]http://blog.archive.org/developers/

[2]https://archive.org/services/docs/api/index.html

【问题讨论】:

  • 要获取所有元数据,您必须创建自己的 URL。例如,以下是游戏视频的元数据:archive.org/metadata/gamevideos 和电视档案的元数据:archive.org/metadata/tvarchive
  • @GilbertLeBlanc 我不确定你的意思。看起来你仍然没有得到 gamevideostvarchive 的孩子(例如 cnn 、福克斯新闻等 archive.org/details/tvarchive
  • 您将不得不创建一个 archive.org/metadata/* URL 列表来获取您感兴趣的所有元数据。
  • 你的回答毫无意义。整个问题是如何以编程方式检索子集合(即使用 JSON API)。你的答案是自己创建一个这样的孩子列表......

标签: web-crawler


【解决方案1】:

写完此回复后,我意识到这并不是您问题的真正答案,因为它不返回子集合,而是返回所有项目。我稍微编辑了我的答案以反映这一点,我将其留作将来参考。


我很难仅列出集合的所有项目 - 我尝试使用简单列表 API,但与 docs 中的 library_of_atlantis 示例不同,它不会为我感兴趣的另一个集合返回任何结果。

最终我得到了 IA 团队的有用回复,建议进行advanced search 查询,例如:https://archive.org/advancedsearch.php?q=collection:movies&fl[]=identifier&rows=100&page=1&output=json

可能有更好的方法来查找movies 集合的所有子集合,但是如果将fl[]=collection 参数添加到查询中,它将返回每个项目所在的所有集合的列表in. 也许你可以从那里收集集合名称?

至于为什么 Simple Lists API 不起作用:显然并非所有集合都由 simplelist 填充(而 *_simplelists.sqlite https://archive.org/download/library_of_atlantis 的存在似乎表明该集合确实使用了 simplelist)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2020-07-07
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多