请问如何爬取某网站上的所有url链接呢?比如163网站的

elvissss 发布于 2015/06/08 15:08
阅读 6K+
收藏 0

比如这样子,想要获取网易首页上的所有url链接,广告不算哈。

如果可以获取二级链接就更好了。就是某个链接点进去之后新页面里面的链接,获取3级就可以了。

请问有大神做过类似的事情么?大概思路是什么啊?刚接触爬虫,不懂的东西很多,请赐教...

加载中
0
安西都护府首席程序员
安西都护府首席程序员

这个我以前写过的,还在开源中国分享了的。首先获得分析当前页面,

比如有是www.163.com,然后得到这个页面的所有超链接放依次在一个队列里面,

当前页面分析完成了就从队列里面取一个url,然后分析这个url,递归执行,把这个url的超链接放另一个队列里面。

1队列用来表示当前需要分析的url队列,2队列表示分析后的url。不断的从1队列里面取出url,如果一队列空了,就把一队列指向2队列,2队列重新new.每次1队列和2队列的一次交换表示一层。

循环执行三次就满足你的需要

0
songsharp
songsharp

有一个url队列。

读取url,获得html,用正则表达式分析html源码获得的url,将rul保存到url队列。

一直循环这个过程到队列为空。

0
elvissss
elvissss

引用来自“songsharp”的评论

有一个url队列。

读取url,获得html,用正则表达式分析html源码获得的url,将rul保存到url队列。

一直循环这个过程到队列为空。

请问您方便给出部分代码么谢谢您
elvissss
elvissss
回复 @songsharp : 谢谢!已经学习啦
songsharp
songsharp
http://www.cnblogs.com/fnng/p/3576154.html 这种随便搜索一下就有了,要多用搜索引擎呀!
0
CoderLeon
CoderLeon

去用jsoup吧,你会爱上他的

Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

Elements links = doc.select("a[href]"); //带有href属性的a元素
http://www.open-open.com/jsoup/selector-syntax.htm

0
elvissss
elvissss

引用来自“最渣的渣男”的评论

这个我以前写过的,还在开源中国分享了的。首先获得分析当前页面,

比如有是www.163.com,然后得到这个页面的所有超链接放依次在一个队列里面,

当前页面分析完成了就从队列里面取一个url,然后分析这个url,递归执行,把这个url的超链接放另一个队列里面。

1队列用来表示当前需要分析的url队列,2队列表示分析后的url。不断的从1队列里面取出url,如果一队列空了,就把一队列指向2队列,2队列重新new.每次1队列和2队列的一次交换表示一层。

循环执行三次就满足你的需要

我翻了下您的以往发言,没发现有类似的东西呀..请问您还有其他blog么
安西都护府首席程序员
安西都护府首席程序员
http://www.oschina.net/code/snippet_778875_47087
0
elvissss
elvissss

引用来自“最渣的渣男”的评论

这个我以前写过的,还在开源中国分享了的。首先获得分析当前页面,

比如有是www.163.com,然后得到这个页面的所有超链接放依次在一个队列里面,

当前页面分析完成了就从队列里面取一个url,然后分析这个url,递归执行,把这个url的超链接放另一个队列里面。

1队列用来表示当前需要分析的url队列,2队列表示分析后的url。不断的从1队列里面取出url,如果一队列空了,就把一队列指向2队列,2队列重新new.每次1队列和2队列的一次交换表示一层。

循环执行三次就满足你的需要

返回顶部
顶部