snoopy遇到301重定向无法采集的错误

snoopy用在一些采集以及爬取页面的时候特别好用,而且源码也是比较小的,有时间的话还是建议大家读读源码,看下里面的运作原理,对提高自己的编写代码能力有很大的帮助,特别是阅读一些优秀的源代码,而且源代码也比较小,不是很复杂,今天在利用的时候进行的时候出现错误。错误提示如下:
Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 866

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 871

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 872

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 866

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 871

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 872

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 866

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 871

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 872

Notice: Undefined offset: 2 in E:\programe\wamp\wamp\www\test\Snoopy.class.php on line 866

一直都是提示这三个地方的错误,后来进行调试才知道原来这边进行了301跳转,很多地方都是有设置默认的页面,比如设置默认页是index.html,然后你访问的是这个时候http://junlian.duapp.com,但是按下回车就直接跳到另一个地址http://junlian.duapp.com/index.html这类的现象在现实中还是很常见的,而snoopy里面由于某些编码或者匹配样式的局限性而出现错误。这个可以根据自己的需要进行修改,比如可以自己编写一个,查询跳转页面,然后直接采集跳转后面的页面就可以了,具体的可以自己用eclipse的dubug进行调试,找到其中到底是那个变量存放跳转后面的页面,然后是在哪里才有这个变量,这个变量才有值,这个需要自己去调试,要在变量的作用域内进行赋值。再不行就自己直接查找这个301跳转后面的页面进行采集,当然这个要是数量比较少的话还是比较现实 的,要是数量比较多就很难进行一个个去修改。


你可能感兴趣的:(正则,Snoopy,字符匹配,php采集)