像nutch这样的爬虫 你只要给它一个规则 它就能把站点的所有网页都访问出来 但是这个规则是怎么样定义的呢?
打个比方 http://www.163.com 这个站点 它能把
http://bbs.163.com
http://www.163.com/aaa/aaa.html....等等到
http://www.163.com/1/2/3/4/5/n/nnnn.html 都能挖出来它的url是怎么样实现的呢?难道是一个一个地穷举配对访问吗??
打个比方 http://www.163.com 这个站点 它能把
http://bbs.163.com
http://www.163.com/aaa/aaa.html....等等到
http://www.163.com/1/2/3/4/5/n/nnnn.html 都能挖出来它的url是怎么样实现的呢?难道是一个一个地穷举配对访问吗??
用java的httpclient或urlconnection先把
http://www.163.com这个网页的html代码弄出来,
再分析里面所有的链接,
按照一定规则找出来,
与爬过的所有链接进行比较,
如果爬过了并且没有更新,
就不管,
然后爬没爬过的,
依次类推就行了
这网页的根本就没有个规则嘛
有的东西是我喜欢的 或者有的是用户名 时间什么的 如
http://www.163.com/news/20101010/aaa.html
http://www.163.com/news/usernames/includechinese/aaa.html
谢谢 有点想像的可能了..
那么是在http://www.163.com这个页面中的所有 a 标签的链接和 form的链接吗??那要是使用js打开的url呢?
每一个页面看作一个顶点,a页面上一个b页面的链接是看作将ab连通的边。对这个图的遍历,如果有某个或者某几个孤立的顶点,那么这个图无法简单的就遍历完。
假设网站www.163.com下有一个页面http://www.163.com/imalone.html
163.com整个站点上其他页面没有任何一个页面上有指向它的链接,那么作为图的顶点,这个页面是孤立的,爬虫是爬不到的~
这种带参页面,但是,没有任何一个页面有链接连到www.yoursite.com/seegood?id=518518这个页面或者是页面动态形式链接到(比如id=1这个被链接到,然后seegood页面动态的有get到的id+1的链接),那你这个产品页面是不会被爬虫爬到的,爬虫没事会去给你每个参数来个穷举访问么?