我有兴趣进行网页抓取。我在看solr
。
solr
是否进行网页抓取,或者进行网页抓取的步骤是什么?
答案 0 :(得分:20)
较旧的Solr版本不单独进行网络爬网,因为历史上它是一个提供全文搜索功能的搜索服务器。它建立在Lucene之上。
如果您需要使用其他Solr项目抓取网页,那么您有许多选项,包括:
如果您想使用Lucene或SOLR提供的搜索工具,您需要从网络抓取结果中构建索引。
另见:
答案 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
答案 3 :(得分:2)
答案 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以不同的格式存储索引
答案 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 一起使用。