我正在尝试创建一个在 Internet 上找到的数字对象标识符 (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 的唯一 DOI。
如何浏览所有可用CommonCrawl
索引而不是搜索特定 URL?
通过阅读 CommonCrawl 的 API 文档,我看不到如何浏览所有索引以提取所有域的所有 DOI。
更新
我找到了这个示例 java 代码https://github.com/Smerity/cc-warc-examples/blob/master/src/org/commoncrawl/examples/S3ReaderTest.java
这显示了如何访问常见的爬网数据集。
但是,当我运行它时,我收到了这个异常
"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>
事实上,我尝试读取的每个文件都会导致相同的错误。这是为什么?
他们的数据集正确的常见抓取 uri 是什么?