solr会做网络抓取吗?

时间:2009-11-23 05:24:21

标签: solr web-crawler

我有兴趣进行网页抓取。我在看solr

solr是否进行网页抓取,或者进行网页抓取的步骤是什么?

9 个答案:

答案 0 :(得分:20)

事实上,Solr 5+ DOES现在正在进行网络抓取! http://lucene.apache.org/solr/

较旧的Solr版本不单独进行网络爬网,因为历史上它是一个提供全文搜索功能的搜索服务器。它建立在Lucene之上。

如果您需要使用其他Solr项目抓取网页,那么您有许多选项,包括:

如果您想使用Lucene或SOLR提供的搜索工具,您需要从网络抓取结果中构建索引。

另见:

Lucene crawler (it needs to build lucene index)

答案 1 :(得分:9)

Solr本身没有网络抓取功能。

Nutch是Solr的“事实上”爬虫(然后是一些)。

答案 2 :(得分:3)

Solr 5开始支持简单的网络抓取(Java Doc)。如果想要搜索,Solr就是工具,如果你想爬行,Nutch / Scrapy会更好:)

要启动并运行,您可以详细了解here。但是,以下是如何在一行中启动和运行:

java 
-classpath <pathtosolr>/dist/solr-core-5.4.1.jar 
-Dauto=yes 
-Dc=gettingstarted     -> collection: gettingstarted
-Ddata=web             -> web crawling and indexing
-Drecursive=3          -> go 3 levels deep
-Ddelay=0              -> for the impatient use 10+ for production
org.apache.solr.util.SimplePostTool   -> SimplePostTool
http://datafireball.com/      -> a testing wordpress blog

这里的爬虫很天真&#34;在那里你可以找到this Apache Solr的github repo中的所有代码。

以下是响应的结果:

SimplePostTool version 5.0.0
Posting web pages to Solr url http://localhost:8983/solr/gettingstarted/update/extract
Entering auto mode. Indexing pages with content-types corresponding to file endings xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
SimplePostTool: WARNING: Never crawl an external web site faster than every 10 seconds, your IP will probably be blocked
Entering recursive mode, depth=3, delay=0s
Entering crawl at level 0 (1 links total, 1 new)
POSTed web resource http://datafireball.com (depth: 0)
Entering crawl at level 1 (52 links total, 51 new)
POSTed web resource http://datafireball.com/2015/06 (depth: 1)
...
Entering crawl at level 2 (266 links total, 215 new)
...
POSTed web resource http://datafireball.com/2015/08/18/a-few-functions-about-python-path (depth: 2)
...
Entering crawl at level 3 (846 links total, 656 new)
POSTed web resource http://datafireball.com/2014/09/06/node-js-web-scraping-using-cheerio (depth: 3)
SimplePostTool: WARNING: The URL http://datafireball.com/2014/09/06/r-lattice-trellis-another-framework-for-data-visualization/?share=twitter returned a HTTP result status of 302
423 web pages indexed.
COMMITting Solr index changes to http://localhost:8983/solr/gettingstarted/update/extract...
Time spent: 0:05:55.059

最后,您可以看到所有数据都已正确编入索引。 enter image description here

答案 3 :(得分:2)

您可能还想看看

http://www.crawl-anywhere.com/

与Solr兼容的非常强大的抓取工具。

答案 4 :(得分:1)

我在我的最新项目中一直使用Nutch和Solr,它看起来效果很好。

如果您使用的是Windows机器,我强烈建议您遵循Jason Riffel提供的“No cygwin”说明!

答案 5 :(得分:1)

是的,我同意这里的其他帖子,使用Apache Nutch

  

bin / nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5

虽然你的solr版本与Nutch的正确版本相匹配,因为旧版本的solr以不同的格式存储索引

它的教程: http://wiki.apache.org/nutch/NutchTutorial

答案 6 :(得分:1)

我知道它已经有一段时间了,但是如果其他人正在搜索像我这样的Solr抓取工具,那么有一个名为Norconex HTTP Collector的新开源抓取工具

答案 7 :(得分:0)

Def Nutch! Nutch还有一个基本的Web前端,可以让您查询搜索结果。根据您的要求,您甚至可能不需要使用SOLR。如果您使用Nutch / SOLR组合,您应该能够利用最近的工作来集成SOLR和Nutch ...... http://issues.apache.org/jira/browse/NUTCH-442

答案 8 :(得分:0)

我知道这个问题已经很老了,但无论如何我都会为在这里想知道的新人做出回应。

为了使用 Solr,您可以使用能够在 Solr 中存储文档的网络爬虫。

例如,Norconex HTTP Collector 是一种灵活且功能强大的开源网络爬虫,与 Solr 兼容。

要将 Solr 与 Norconex HTTP 收集器一起使用,您需要使用 Norconex HTTP Collector 来抓取您要从中收集数据的网站,并且您需要安装 Norconex Apache Solr Committer 来存储收集到的数据文件导入 Solr。安装提交器后,您将需要配置爬虫的 XML 配置文件。我建议您按照此 link 开始测试爬虫的工作原理,并here 了解如何配置配置文件。最后,您将需要此 link 来使用 Solr 配置配置文件的提交者部分。

请注意,如果您的目标不是抓取网页,Norconex 还有一个 Filesystem Collector 也可以与 Sorl Committer 一起使用。