JSpider学习三 —— 启动代码分析

jspider.sh----------------------------------------------------------------------------------------------

    JSpider从jspider.sh文件运行,在该shell脚本中指定了如下几个变量:

    JSPIDER_HOME,JSpider的主目录,通过该目录去寻找conf/、output/、errors/等文件夹;

    JSPIDER_OPTS,系统自定义的命令参数,定义了主目录、日志配置文件等内容;

    JSPIDER_CLASSPATH,指定系统自带Jar包的类路径。

    最后通过命令 java -cp $JSPIDER_CLASSPATH:$CLASSPATH $JSPIDER_OPTS net.javacoding.jspider.JSpider $1 $2 启动了Java程序。

net.javacoding.jspider.JSpider----------------------------------------------------------------------------------------------

    原来用eclipse导入project来查看JSpider的源码,这样并没有把文件中的类源码和引用关联起来,阅读不方便。我重新导入,这次选择了project from existing ant build file,导入后自动把源码和引用关联起来了,而且自动加入了build相关的其他配置,也有了错误提示。Ant需要后续补充学习。

    Java的主方法中:

    首先通过CLI.printSignature()做了些提示工作,其中的一个常量BUILDTIMESTAMP不清楚如果写入code中的;

    然后检查了参数个数,如果没有参数或者多余2个参数就提示后直接结束;

    如果只有一个参数,调用ConfigurationFactory的getConfiguration()新建一个具有默认配置的JSpiderConfiguration实例;否则用第二个参数作为配置新建一个JSpiderConfiguration实例;

    第一个参数用来生成一个URL实例,进而产生一个JSpider实例,最后调用JSpider的start方法。

    JSpider的成员:

    SpiderContext实例context,爬虫的一个上下文关系,由SpiderContextFactory根据传入的URL生成;

    Spider实例spider,理解为一个爬虫程序,由SpiderNest类的实例的breedSpider(context)方法生成;

    void start()方法,调用spider.crawl(context)方法,奇怪这里又传了一次context。

    下一步将分析Spider的代码,以及JSpiderConfiguration与Spider的关系。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值