这不是第一次在Stackoverflow上问这个问题- 但是差不多五年之后 - 时代和技术发生了一些变化.我想知道现在人们在构建搜索引擎的想法是什么?
例如,我知道Nutch正在继续开发 - 但它仍然是最强大的解决方案吗?是否有其他语言的替代成熟解决方案 - 例如C#,PHP,VB.NET?
我也知道现在有一个可以使用的公开可用的质量指数,减少了从Common Crawl执行自己的蜘蛛的需要.
当然,还有一些自定义搜索引擎解决方案,最着名的是谷歌的CSE ...但我不知道任何其他主要的/稳定的/有信誉的,我信任建立一个引擎?
现在有哪些资源可用于学习几年前甚至去年都没有的编程搜索引擎?
我需要浏览和下载常见爬网的公共数据集的子集.此页面提到托管数据的位置.
如何浏览并可能下载在s3:// aws-publicdatasets/common-crawl/crawl-002 /上托管的常见爬网数据?
amazon amazon-s3 amazon-ec2 amazon-web-services common-crawl
我按照 Microsoft 推荐的方式解压缩 .gz 文件:
https://learn.microsoft.com/en-us/dotnet/api/system.io.compression.gzipstream?view=netcore-3.1
我正在尝试从 CommonCrawl 下载并解析文件。我可以成功下载它们,并使用 7-zip 解压它们
然而,在 c# 中我得到:
System.IO.InvalidDataException:“存档条目是使用不受支持的压缩方法进行压缩的。”
public static void Decompress(FileInfo fileToDecompress)
{
using (FileStream originalFileStream = fileToDecompress.OpenRead())
{
string currentFileName = fileToDecompress.FullName;
string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
using (FileStream decompressedFileStream = File.Create(newFileName))
{
using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedFileStream);
Console.WriteLine($"Decompressed: {fileToDecompress.Name}");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该文件来自那里:
有谁知道是什么问题?我需要一个特殊的图书馆吗?
我正在使用 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
Run Code Online (Sandbox Code Playgroud)
之后我有 112mb 的数据和简单的 grep:
grep "50569" * -r
grep "Locals-tell-of-terror-shock" * -r
Run Code Online (Sandbox Code Playgroud)
页面不存在。我错过了什么吗?该页面于 2006 年发布并于 2016 年 6 月删除。所以我认为 CommonCrawl 应该已经实现了它们?
更新:感谢塞巴斯蒂安,留下了两个链接......两个网址是:
他们甚至提出了一个“URL 搜索工具”,它用 502 - Bad Gateway 来回答......
我有兴趣下载 AWS Common Crawl 的一个小子集(10 个兆顶部)的原始文本,作为信息检索测试的语料库。
Common Crawl 页面建议我需要一个 S3 帐户和/或 Java 程序来访问它,然后我正在考虑筛选 100 GB 的数据,而我所需要的只是几十兆。
这里有一些代码,但它需要 S3 帐户和访问权限(尽管我确实喜欢 Python)。
有没有一种方法可以形成一个 http(s) URL,让我可以根据自己的目的获得一个微小的爬行横截面?我相信我查看了一个页面,该页面建议了一种用日、小时、分钟来构建目录的方法,但我似乎无法再次找到该页面。
谢谢!
我想从spark shell访问Amazon公共数据集存储库中的commoncrawl文件.这些文件是WARC.GZ格式.
val filenameList = List("s3://<ID>:<SECRECT>@aws-publicdatasets.s3.amazonaws.com/common-crawl/crawl-data/CC-MAIN-2014-41/segments/1410657102753.15/warc/CC-MAIN-20140914011142-00000-ip-10-196-40-205.us-west-1.compute.internal.warc.gz")
// TODO: implement functionality to read the WARC.GZ file here
val loadedFiles = sc.parallelize(filenameList, filenameList.length).mapPartitions(i => i)
loadedFiles.foreach(f => f.take(1))
Run Code Online (Sandbox Code Playgroud)
我现在将实现一个函数来读取mapPartitions函数中的WARC.GZ格式.这是一个很好的方法吗?我问,因为我对Spark平台还不熟悉,并希望使用commoncrawl语料库的一小部分实现一个小型演示应用程序.我在这里看到了一个线程中使用的mapPartitions .
我是第一次尝试,我试图使用sc.textFile("s3:// ....").take(1)直接从我自己的计算机打开文件,导致访问被拒绝错误.是否只能从EC2实例访问S3 amazon公共存储库文件?
我想使用普通爬网检索网页,但我迷路了。
我想获取 www.example.com 的 warc 文件。我看到此链接 ( http://index.commoncrawl.org/CC-MAIN-2017-34-index?url=https%3A%2F%2Fwww.example.com&output=json ) 生成以下 json。
{"urlkey": "com,example)/", "timestamp": "20170820000102", "mime": "text/html", "digest": "B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A", "filename": "crawl-data/CC- MAIN-2017-34/segments/1502886105955.66/robotstxt/CC-MAIN-20170819235943-20170820015943-00613.warc.gz", "mime-detected", "status", "status", "html" : "1109728", "length": "1166", "url": " http://www.example.com "}
有人可以指出我如何使用这些 json 元素来检索 HTML 的正确方向。
感谢您帮助菜鸟!
common-crawl ×7
amazon-ec2 ×2
amazon-s3 ×2
amazon ×1
apache-spark ×1
c# ×1
corpus ×1
dataset ×1
gzip ×1
nutch ×1
search ×1