Java简单爬虫系列(1)---什么是爬虫,爬虫原理,怎么来实现爬虫

☆樱花仙子☆ 提交于 2020-01-09 22:39:51

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

很早就想写个小爬虫了,一直拖拖拖,真是应了一句话,人有多大胆就能拖多晚。这几天终于开始搞了搞,现写下一些需要用到的知识,用作自己储备和希望能给同样需要的oser们一点经验。

这个系列一共有5篇,分为

下面是第一篇的内容,《什么是爬虫,爬虫原理》

你让我给你说什么是爬虫,我也不知道,我知道的是它可以在互联网上根据取得的url,顺着url一个一个的去访问页面(页面资源都访问到了,你就可以干你想干的事情了)

关于原理下面这段话我觉得十分有用

for each 链接 in 当前网页所有的链接

{

        if(如果本链接是我们想要的 || 这个链接从未访问过)

        {

                处理对本链接

                把本链接设置为已访问

        }

}

想使用爬虫,

  1. 首先你要给它一个种子链接URL

  2. 在种子链接的页面查找其他的URL,重复1步骤

  3. 有链接有页面,然后你可以在页面中查找需要的内容

这其中需要的知识点

  • http请求器

    • 由于不是用浏览器访问,我们需要在本地的文件中发起请求获取资源,有两种实现方法,第一种Java提供的java.net包中APIs,另一种是选用第三方的工具,我选的是HttpClient这个资源,相对来说第三方工具会比Java本身提供的APIs的功能更加强大和灵活一些。

  • 内容解析器

    • 上面我们通过请求获取了资源,然后就是要去解析了,基本上获取的都是页面,一大串的HTML页面代码,那么我们也可以通过来两种方式来解析资源,一种是正则表达式,一种是第三方的解析器(比如,jsoup,htmlparse等),本系列会先使用正则表达式来解析,最后应该也会有第三方的解析文章。

主要的梗概大概就是这没多,我再来梳理总结一下

  1. 取一个种子URL,比如www.oschina.net

  2. 通过httpclient请求获取页面资源(获取的页面资源其中肯定包含了其他的URL,可以作为下一个种子循环使用)

  3. 通过正则或者jsoup解析出想要的内容(解析出其他的URL链接,同时获取本页面的所有图片,这都是可以的)

  4. 使用3获取的下一个种子URL,重复1


如有错误,敬请指出,谢谢!





易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!