后台运行Heritrix常见错误

来源:互联网 发布:网络视频赌博真假 编辑:程序博客网 时间:2024/05/29 09:15

虽然什么事情都没有干但是在eclipse的控制台中打印出了日志,并且也没报错 但是web不能访问

代码是:http://guoyunsky.iteye.com/blog/642550改了一丁点东西

--------------------------------------------------------------------------------------------------

package com.stx.test;

import java.io.File;

import javax.management.InvalidAttributeValueException;

import org.archive.crawler.event.CrawlStatusListener;
import org.archive.crawler.framework.CrawlController;
importorg.archive.crawler.framework.exceptions.InitializationException;
import org.archive.crawler.settings.XMLSettingsHandler;

public class Test {

 public static void main(String[] args) {
  File order=newFile("order.xml"); //这个我放在了根目录下的还有另外的一个文件seeds.txt
  XMLSettingsHandlerorderHandler=null;//声明读取order.xml
  CrawlControllercontroller=null; //控制
  CrawlStatusListenerlistener=null;//监听  
       try {
         //封装order.xml
         if(!order.exists()){
          System.out.println("配置文件找不到结束");
          System.exit(0);
         }
    orderHandler=newXMLSettingsHandler(order);
    orderHandler.initialize();
    
    //控制器加载
    controller=newCrawlController();
    controller.initialize(orderHandler);
    if(listener!=null){
     controller.addCrawlStatusListener(listener);
      
    controller.requestCrawlStart();    
    while(true){
     if(controller.isRunning()==false){
      break;
     }
     Thread.sleep(1000);
     
    controller.requestCrawlStop(); 
   } catch(InvalidAttributeValueException e) {
    e.printStackTrace();
    System.out.println("加载配置文件失败");
   } catch(InitializationException e) {
    e.printStackTrace();
    System.out.println("控制器加载配置失败");
   } catch(InterruptedException e) {
    e.printStackTrace();
    System.out.println("睡眠抛出异常");
   
  
 }
}
--------------------------------------------------------------------------------------------------

问题一:这里是吧order.xml文件和seeds.txt文件复制在根目录的

问题二:报错You must set the User-Agent and From HTTP header values toacceptable strings
        这个是要把order.xml中红色两项修改

 <mapname="http-headers">
     <string name="user-agent">Mozilla/5.0(compatible; heritrix/1.14.4 +http://127.0.0.1)</string>
     <string name="from">Soap09@sina.com</string>
   </map>

问题三:

(JE 3.3.82) je.lck file exists in E:\spider_word\heritrix_test\state The environment can not be locked for single writer access.
我的是第一次没有解决问题二然后再根目录里面多了一个state的文件夹里面有je.lck 这样个文件          删掉重新运行解决掉了
 
问题四:我直接建了一个工程 只把把src的源文件和包放进去 然后order.xml文件和seeds.txt文件复制在根目录的然后运行这个程序
 报错 thread-10org.archive.util.ArchiveUtils.<clinit>()TLD listunavailable    

为org\archive\util,在该路径下补充该文件就不报错了。

至于该文件的用途还不清楚,有高手可以指点一下。

该文件可以在源文件包src\resources路径下找到。
0 0
原创粉丝点击