PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!
Win7境环下置配 nutch-1.2
Step1:安装jdk
网上已有多许很好的教程了,这里不再赘述,只是调强两点
-
Jdk的安装路径中不能有文中
-
Jdk的安装路径中不能有空格
Step2:安装tomcat
网上已经有多许成熟的教程了,不再赘述了。Apache-tomcat官网:http://tomcat.apache.org/
Step3:安装cygwin
Cygwin官网:http://www.cygwin.com/
Cygwin安装文件:http://www.cygwin.com/install.html
Cygwin其实就是一个*nix系统的虚拟机(和ubuntu下的wine功能恰好相反)。由于nutch是用java编写的在*nix系统上运行了,为了可以在Windows系统上Run,所以就要需cygwin搭建一个*nix系统的模拟境环。
Cygwin的详细安装进程没什么好说的,下载在安装文件setup.exe后,就点击“下一步”就OK了。只是醒提:cygwin的安装目录需是磁盘根目录,(尽量是认默置配就OK)。
Step4:安装和置配nutch-1.2
Nutch-1.2的下载接链:http://archive.apache.org/dist/nutch/(选择:apache-nutch-1.2-bin.zip)
-
下载完成后将其解压到目录:D:\Code\nutch-1.2(可以自定义)
-
运行step3安装的Cygwin;输入命令将当前目录切换至nutch-1.2目录下;
只要输入cd,然后将nutch-1.2目录拖进cygwin窗口,按下enter。
-
Nutch-1.2的安装测试,在cygwin窗口输入:bin/nutch。
如果涌现Usage:nutch[-core] COMMAND等一串息信就示表nutch安装胜利。
Step5:测试nutch-1.2的爬虫功能
-
置设系统变量NUTCH_JAVA_HOME,
它的值就是java的安装目录,例如:C:\Java\jdk1.7.0_17 -
置设要需取抓的网站主名域。
在Nutch-1.2的安装目录下立建一个名为urls的文件夹,并在文件夹下立建url.txt文件,在文件中写入:http://www.sohu.com/(即要取抓网站的网址,注意最后要加斜杠)。 -
置设网站过滤规则。
辑编conf/crawl-urlfilter.txt文件,改修MY.DOMAIN.NAME部份。
将
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
改成:
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*sohu.com/ -
置设代理息信。
辑编conf/nutch-site.xml文件。在<configuration>和</configuration>之间加添如下内容:
<property>
<name>http.agent.name</name>
<value>http://www.sohu.com/</value>
</property>
<property>
<name>http.agent.url</name>
<value>http://www.sohu.com/</value>
</property>
<property>
<name>http.robots.agents</name>
<value>http://www.sohu.com/</value>
</property>
-
置设代理名
辑编nutch-1.2\conf\nutch-default.xml文件,找<name>http.agent.name</name>,然后随意置设Value值。例如:
-
运行crawl爬虫命令取抓内容
运行cygwin后,
a)首先切换进入nutch-1.2的目录;
b)运行命令:exportLANG=”zh_CN.GBK” (置设linux境环变量)
c)运行命令:bin/nutch crawl urls -dir crawled -depth 4 -threads 3-topN 30
crawl 是nutch索检数据命令,面后跟上要索检的URL文件;
-dir指定取抓内容所放存的目录;
-depth示表以要取抓网站顶级网址为出发点的匍匐深度;
-threads指定发并的线程数;
-topN 取抓时每页的最大取抓接链。
-
运行结果
nutch-1.2的目录下多了个crawled目录,面下有文件如下:
Step6:测试nutch-1.2的索检功能
主要在Apache-tomcat目录停止作操,以apache-tomcat-7.039为例:
-
进入apache-tomcat-7.0.39目录,将webapps/root 文件夹重命名或删除。
-
将nutch-1.2目录下的nutch-1.2.war复制到apache-tomcat-7.0.39\webapps目录下,重并命名为:ROOT.war。
-
启用apache-tomcat,运行\apache-tomcat-7.0.39\bin\startup.bat
-
在浏览器中输入http://localhost:8080/;
-
此时\apache-tomcat-7.0.39\webapps\目录下就会涌现一个ROOT文件夹。
辑编\apache-tomcat-7.0.39\webapps\ROOT\WEB-INF\classes\nutch-site.xml,如下图所示:
红色框就是“step5:测试nutch-1.2的索检功能”中爬虫爬出来的数据文件夹。 -
决解文中码乱问题,辑编\apache-tomcat-7.0.39\conf\server.xml文件,找到Connector部份,置设为:
<Connectorport="8080"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
redirectPort="8443"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"/>
如下图所示:
-
再次启用apache-tomcat,重新运行\apache-tomcat-7.0.39\bin\startup.bat
-
在浏览器中输入http://localhost:8080/;结果如图所示:
文章结束给大家分享下程序员的一些笑话语录:
爱情观
爱情就是死循环,一旦执行就陷进去了。
爱上一个人,就是内存泄露--你永远释放不了。
真正爱上一个人的时候,那就是常量限定,永远不会改变。
女朋友就是私有变量,只有我这个类才能调用。
情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。