关于爬虫中的URL问题!高手请教

leeking888 2010-10-20 10:18:08
像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是怎么样实现的呢?难道是一个一个地穷举配对访问吗??
...全文
97 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
eggno8 2010-10-20
如果你站点上有www.yoursite.com/seegood?id=xxxxxx
这种带参页面,但是,没有任何一个页面有链接连到www.yoursite.com/seegood?id=518518这个页面或者是页面动态形式链接到(比如id=1这个被链接到,然后seegood页面动态的有get到的id+1的链接),那你这个产品页面是不会被爬虫爬到的,爬虫没事会去给你每个参数来个穷举访问么?
回复
leeking888 2010-10-20
[Quote=引用 5 楼 eggno8 的回复:]
对网站爬行的过程就是一个对图的遍历过程。
每一个页面看作一个顶点,a页面上一个b页面的链接是看作将ab连通的边。对这个图的遍历,如果有某个或者某几个孤立的顶点,那么这个图无法简单的就遍历完。
假设网站www.163.com下有一个页面http://www.163.com/imalone.html
163.com整个站点上其他页面没有任何一个页面上有指向它的链接,那么作为图的顶点,这个页面是孤……
[/Quote]
那么有一些是需要参数的呢?或者是其他条件的才能进入的页面是不是无法爬虫访问到呢?
回复
学习下,期待高手
回复
eggno8 2010-10-20
对网站爬行的过程就是一个对图的遍历过程。
每一个页面看作一个顶点,a页面上一个b页面的链接是看作将ab连通的边。对这个图的遍历,如果有某个或者某几个孤立的顶点,那么这个图无法简单的就遍历完。
假设网站www.163.com下有一个页面http://www.163.com/imalone.html
163.com整个站点上其他页面没有任何一个页面上有指向它的链接,那么作为图的顶点,这个页面是孤立的,爬虫是爬不到的~
回复
leeking888 2010-10-20
[Quote=引用 2 楼 metsys 的回复:]
爬的是站点内容里包含的链接。

要是穷举配对,比算出彩票号码的可能性还小得多。
[/Quote]

谢谢 有点想像的可能了..
那么是在http://www.163.com这个页面中的所有 a 标签的链接和 form的链接吗??那要是使用js打开的url呢?
回复
leeking888 2010-10-20
[Quote=引用 1 楼 yaoweijq 的回复:]
大概意思是这:
用java的httpclient或urlconnection先把
http://www.163.com这个网页的html代码弄出来,
再分析里面所有的链接,
按照一定规则找出来,
与爬过的所有链接进行比较,
如果爬过了并且没有更新,
就不管,
然后爬没爬过的,
依次类推就行了
[/Quote]
请问 按照你这个想法怎么样实现呢??
这网页的根本就没有个规则嘛
有的东西是我喜欢的 或者有的是用户名 时间什么的 如
http://www.163.com/news/20101010/aaa.html
http://www.163.com/news/usernames/includechinese/aaa.html
回复
metsys 2010-10-20

爬的是站点内容里包含的链接。

要是穷举配对,比算出彩票号码的可能性还小得多。
回复
yaoweijq 2010-10-20
大概意思是这:
用java的httpclient或urlconnection先把
http://www.163.com这个网页的html代码弄出来,
再分析里面所有的链接,
按照一定规则找出来,
与爬过的所有链接进行比较,
如果爬过了并且没有更新,
就不管,
然后爬没爬过的,
依次类推就行了
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-20 10:18
社区公告
暂无公告