Java简单爬虫系列(1)---什么是爬虫,爬虫原理,怎么来实现爬虫
2016-05-12 11:50
916 查看
摘要: 很早就想写个小爬虫了,一直拖拖拖,真是应了一句话,人有多大胆就能拖多晚。这几天终于开始搞了搞,现写下一些需要用到的知识,用作自己储备和希望能给同样需要的oser们一点经验。
很早就想写个小爬虫了,一直拖拖拖,真是应了一句话,人有多大胆就能拖多晚。这几天终于开始搞了搞,现写下一些需要用到的知识,用作自己储备和希望能给同样需要的oser们一点经验。
这个系列一共有5篇,分为
Java简单爬虫系列(1)---什么是爬虫,爬虫原理,怎么来实现爬虫
Java简单爬虫系列(2)---HttpClient的使用
Java简单爬虫系列(3)---正则表达式和Java正则API的使用
Java简单爬虫系列(4)--- 正则表达式获取百度LOGO
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
如有错误,敬请指出,谢谢!
很早就想写个小爬虫了,一直拖拖拖,真是应了一句话,人有多大胆就能拖多晚。这几天终于开始搞了搞,现写下一些需要用到的知识,用作自己储备和希望能给同样需要的oser们一点经验。
这个系列一共有5篇,分为
Java简单爬虫系列(1)---什么是爬虫,爬虫原理,怎么来实现爬虫
Java简单爬虫系列(2)---HttpClient的使用
Java简单爬虫系列(3)---正则表达式和Java正则API的使用
Java简单爬虫系列(4)--- 正则表达式获取百度LOGO
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
如有错误,敬请指出,谢谢!
相关文章推荐
- msql 正则表达式
- 正则表达式
- Mootools 1.2教程 正则表达式
- 批处理FINDSTR正则表达式用法实例分析
- vbs正则表达式代码
- C#正则表达式Regex类的常用匹配
- C#中利用正则表达式将人民币金额转换为大写汉字
- C#使用正则表达式实现首字母转大写的方法
- php中看实例学正则表达式
- PHP正则表达式之定界符和原子介绍
- PHP下常用正则表达式整理
- 批处理 正则表达式(findstr) 整理
- 详解C#正则表达式Regex常用匹配
- C#正则表达式的6个简单例子
- JavaScript类型系统之正则表达式
- 详解JS正则replace的使用方法
- javascript中的正则表达式使用指南
- C#中的正则表达式介绍
- 学习正则帮手笨狼正则练习器