CommonCrawl:如何找到特定的网页?
CommonCrawl: How to find a specific web page?
我正在使用 CommonCrawl 来恢复我应该实现但没有实现的页面。
据我所知,Common Crawl Index 提供对 Common Crawl 存储的所有 URL 的访问。因此,如果达到URL,它应该会给我一个答案。
一个简单的脚本从可用的爬网中下载所有索引:
./cdx-index-client.py -p 4 -c CC-MAIN-2016-18 *.thesun.co.uk --fl url -d CC-MAIN-2016-18
./cdx-index-client.py -p 4 -c CC-MAIN-2016-07 *.thesun.co.uk --fl url -d CC-MAIN-2016-07
... and so on
之后我有 112mb 的数据并简单地 grep:
grep "50569" * -r
grep "Locals-tell-of-terror-shock" * -r
页面不存在。我错过了什么吗?该页面于 2006 年发布并于 2016 年 6 月删除。所以我认为 CommonCrawl 应该已经实现了它们?
更新:感谢塞巴斯蒂安,留下两个链接...
两个 URL 是:
- http://www.thesun.co.uk/sol/homepage/news/50569/Locals-tell-of-terror-shock.html
- http://www.thesun.co.uk/sol/homepage/news/54032/Sir-Ians-raid-apology.html
他们甚至提出了一个 "URL Search Tool" 以 502 - Bad Gateway 回答...
最新版本的 CC 索引搜索提供了搜索和获取来自特定 tld 的所有 url 的结果的能力。
在您的情况下,您可以使用 http://index.commoncrawl.org and then select index of your choice. Search for http://www.thesun.co.uk/*。
希望您从 tld 获得所有网址,然后您可以从 json 响应中过滤您选择的网址。
AFAIK 页面只会被抓取一次,因此您要查找的页面可能位于 archives.
中的任何一个
我写了一个 small software that can be used to search all archives at once (here's also a demonstration 展示了如何做到这一点)。因此,在您的情况下,我搜索了所有档案(2008 年至 2019 年)并在通用爬网编辑器中输入了您的 URLs,并为您的第一个 URL 找到了这些结果(找不到第二个所以我猜不在数据库中?):
FileName Offset Length
------------------------------------------------------------- ---------- --------
parse-output/segment/1346876860877/1346943319237_751.arc.gz 7374762 12162
crawl-002/2009/11/21/8/1258808591287_8.arc.gz 87621562 20028
crawl-002/2010/01/07/5/1262876334932_5.arc.gz 80863242 20075
不确定为什么会出现三个结果。我猜他们做了 re-scan 一些 URL。
如果您在我链接的应用程序上打开这些 URL 中的任何一个,您应该能够在浏览器中看到这些页面(这是一个自定义方案,其中包括文件名、偏移量和长度order to load HTML from the common crawl database):
crawl://page.common/parse-output/segment/1346876860877/1346943319237_751.arc.gz?o=7374762&l=12162&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
crawl://page.common/crawl-002/2009/11/21/8/1258808591287_8.arc.gz?o=87621562&l=20028&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
crawl://page.common/crawl-002/2010/01/07/5/1262876334932_5.arc.gz?o=80863242&l=20075&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
您可以使用 AWS Athena 查询常见的爬网索引,例如 SQL 以找到 URL,然后使用偏移量、长度和文件名来读取代码中的内容。在此处查看详细信息 - http://commoncrawl.org/2018/03/index-to-warc-files-and-urls-in-columnar-format/
我正在使用 CommonCrawl 来恢复我应该实现但没有实现的页面。
据我所知,Common Crawl Index 提供对 Common Crawl 存储的所有 URL 的访问。因此,如果达到URL,它应该会给我一个答案。
一个简单的脚本从可用的爬网中下载所有索引:
./cdx-index-client.py -p 4 -c CC-MAIN-2016-18 *.thesun.co.uk --fl url -d CC-MAIN-2016-18
./cdx-index-client.py -p 4 -c CC-MAIN-2016-07 *.thesun.co.uk --fl url -d CC-MAIN-2016-07
... and so on
之后我有 112mb 的数据并简单地 grep:
grep "50569" * -r
grep "Locals-tell-of-terror-shock" * -r
页面不存在。我错过了什么吗?该页面于 2006 年发布并于 2016 年 6 月删除。所以我认为 CommonCrawl 应该已经实现了它们?
更新:感谢塞巴斯蒂安,留下两个链接... 两个 URL 是:
- http://www.thesun.co.uk/sol/homepage/news/50569/Locals-tell-of-terror-shock.html
- http://www.thesun.co.uk/sol/homepage/news/54032/Sir-Ians-raid-apology.html
他们甚至提出了一个 "URL Search Tool" 以 502 - Bad Gateway 回答...
最新版本的 CC 索引搜索提供了搜索和获取来自特定 tld 的所有 url 的结果的能力。 在您的情况下,您可以使用 http://index.commoncrawl.org and then select index of your choice. Search for http://www.thesun.co.uk/*。 希望您从 tld 获得所有网址,然后您可以从 json 响应中过滤您选择的网址。
AFAIK 页面只会被抓取一次,因此您要查找的页面可能位于 archives.
中的任何一个我写了一个 small software that can be used to search all archives at once (here's also a demonstration 展示了如何做到这一点)。因此,在您的情况下,我搜索了所有档案(2008 年至 2019 年)并在通用爬网编辑器中输入了您的 URLs,并为您的第一个 URL 找到了这些结果(找不到第二个所以我猜不在数据库中?):
FileName Offset Length
------------------------------------------------------------- ---------- --------
parse-output/segment/1346876860877/1346943319237_751.arc.gz 7374762 12162
crawl-002/2009/11/21/8/1258808591287_8.arc.gz 87621562 20028
crawl-002/2010/01/07/5/1262876334932_5.arc.gz 80863242 20075
不确定为什么会出现三个结果。我猜他们做了 re-scan 一些 URL。
如果您在我链接的应用程序上打开这些 URL 中的任何一个,您应该能够在浏览器中看到这些页面(这是一个自定义方案,其中包括文件名、偏移量和长度order to load HTML from the common crawl database):
crawl://page.common/parse-output/segment/1346876860877/1346943319237_751.arc.gz?o=7374762&l=12162&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
crawl://page.common/crawl-002/2009/11/21/8/1258808591287_8.arc.gz?o=87621562&l=20028&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
crawl://page.common/crawl-002/2010/01/07/5/1262876334932_5.arc.gz?o=80863242&l=20075&u=http%3A%2F%2Fwww.thesun.co.uk%2Fsol%2Fhomepage%2Fnews%2F50569%2FLocals-tell-of-terror-shock.html
您可以使用 AWS Athena 查询常见的爬网索引,例如 SQL 以找到 URL,然后使用偏移量、长度和文件名来读取代码中的内容。在此处查看详细信息 - http://commoncrawl.org/2018/03/index-to-warc-files-and-urls-in-columnar-format/