【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
很早就想写个小爬虫了,一直拖拖拖,真是应了一句话,人有多大胆就能拖多晚。这几天终于开始搞了搞,现写下一些需要用到的知识,用作自己储备和希望能给同样需要的oser们一点经验。
这个系列一共有5篇,分为
Jsoup使用获取推荐列表
下面是第一篇的内容,《什么是爬虫,爬虫原理》
你让我给你说什么是爬虫,我也不知道,我知道的是它可以在互联网上根据取得的url,顺着url一个一个的去访问页面(页面资源都访问到了,你就可以干你想干的事情了)
关于原理下面这段话我觉得十分有用
for each 链接 in 当前网页所有的链接
{
if(如果本链接是我们想要的 || 这个链接从未访问过)
{
处理对本链接
把本链接设置为已访问
}
}
想使用爬虫,
首先你要给它一个种子链接URL
在种子链接的页面查找其他的URL,重复1步骤
有链接有页面,然后你可以在页面中查找需要的内容
这其中需要的知识点
http请求器
由于不是用浏览器访问,我们需要在本地的文件中发起请求获取资源,有两种实现方法,第一种Java提供的java.net包中APIs,另一种是选用第三方的工具,我选的是HttpClient这个资源,相对来说第三方工具会比Java本身提供的APIs的功能更加强大和灵活一些。
内容解析器
上面我们通过请求获取了资源,然后就是要去解析了,基本上获取的都是页面,一大串的HTML页面代码,那么我们也可以通过来两种方式来解析资源,一种是正则表达式,一种是第三方的解析器(比如,jsoup,htmlparse等),本系列会先使用正则表达式来解析,最后应该也会有第三方的解析文章。
主要的梗概大概就是这没多,我再来梳理总结一下
取一个种子URL,比如www.oschina.net
通过httpclient请求获取页面资源(获取的页面资源其中肯定包含了其他的URL,可以作为下一个种子循环使用)
通过正则或者jsoup解析出想要的内容(解析出其他的URL链接,同时获取本页面的所有图片,这都是可以的)
使用3获取的下一个种子URL,重复1
如有错误,敬请指出,谢谢!
来源:oschina
链接:https://my.oschina.net/u/2519530/blog/597359