首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java查询CommonCrawl以填充数字对象标识符数据库

Java查询CommonCrawl以填充数字对象标识符数据库
EN

Stack Overflow用户
提问于 2017-07-27 10:18:51
回答 2查看 317关注 0票数 0

我正在尝试创建一个在互联网上找到的数字对象标识符(DOI)数据库。

通过手动搜索CommonCrawl索引服务器,取得了一些有希望的结果。

然而,我希望制定一个方案性的解决办法。

这可能导致我的过程只需要读取索引文件,而不需要读取底层WARC数据文件。

我希望自动化的手动步骤如下:

1)。对于每个当前可用的CommonCrawl索引集合:

2)。我搜索. "Search a url in this collection: (Wildcards -- Prefix: http://example.com/* Domain: *.example.com)“例如link.springer.com/*

3)。这将返回几乎6MB的json数据,其中包含大约22K的唯一DOIs。

如何浏览所有可用的CommonCrawl索引而不是搜索以寻找特定的URL?

通过阅读CommonCrawl的API文档,我无法看到如何浏览所有索引来提取所有域的所有DOIs。

更新

我找到了这个示例java代码https://github.com/Smerity/cc-warc-examples/blob/master/src/org/commoncrawl/examples/S3ReaderTest.java

它显示了如何访问公共爬行数据集。

然而,当我运行它时,我会收到这个异常。

代码语言:javascript
复制
"main" org.jets3t.service.S3ServiceException: Service Error Message. -- ResponseCode: 404, ResponseStatus: Not Found, XML Error Message: <?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>common-crawl/crawl-data/CC-MAIN-2016-26/segments/1466783399106.96/warc/CC-MAIN-20160624154959-00160-ip-10-164-35-72.ec2.internal.warc.gz</Key><RequestId>1FEFC14E80D871DE</RequestId><HostId>yfmhUAwkdNeGpYPWZHakSyb5rdtrlSMjuT5tVW/Pfu440jvufLuuTBPC25vIPDr4Cd5x4ruSCHQ=</HostId></Error>

事实上,我试图读取的每个文件都会导致相同的错误。为什么会这样呢?

对于他们的数据集,正确的普通爬行器是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-28 13:06:11

要使示例代码工作,请将第24和第25行替换为:

代码语言:javascript
复制
String fn = "crawl-data/CC-MAIN-2013-48/segments/1386163035819/warc/CC-MAIN-20131204131715-00000-ip-10-33-133-15.ec2.internal.warc.gz";
S3Object f = s3s.getObject("commoncrawl", fn, null, null, null, null, null, null);

还请注意公共爬虫组有更新的示例

票数 1
EN

Stack Overflow用户

发布于 2017-07-28 08:23:15

数据集位置自一年多以来已经发生了变化,参见公告。然而,许多示例和库仍然包含旧的指针。您可以在s3://commoncrawl/cc-index/collections/CC-MAIN-YYYY-WW/indexes/cdx-00xxx.gz上访问所有爬行的索引文件--将YYYY-WW替换为爬行的年份和周,并将xxx扩展到000299以获取所有300个索引部分。新的爬行数据将在公共爬行群上公布,或者阅读更多关于如何访问数据的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45347907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档