Java爬虫介绍
一、爬虫技术
-
随着网络的迅速发展,万维网成为大量信息的载体,而信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜索的成本也会提高。那么如果有效地提取并利用这些信息成为一个巨大的挑战。
-
爬虫一般指网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本,可以自动采集所有其能够访问到的页面内容,以获取相关数据。
-
从功能上来讲,爬虫一般分为数据采集,处理,存储三个部分。
二、Jsoup爬虫技术栈
1)Jsoup爬虫技术栈1
-
Jsoup是一个Java HTML Parser,能够从URL、文件或字符串中解析URL。它提供了一套非常省力的API,可通过DOM,CSS及类似于jQuery的操作方法来取出和操作数据。
-
Jsoup的主要功能:
--1、从URL、文件或字符串中抓取和解析HTML
--2、使用CSS选择器或DOM遍历查找和提取数据
--3、可操作HTML元素、属性和文本
2)Jsoup爬虫技术栈2
-
Jsoup接续URL
Documnet doc = Jsoup.connect("http://example.com").get(); //获取标题内容 Stirng title = doc.title();
-
Jsoup.connect(String url)方法返回来一个org.jsoup.Connection对象。在Connection对象中,可以使用get()或post()方法来执行请求,并返回一个org.jsoup.nodes.Document对象,可以通过解析Document对象来获取我们想要的元素。
3)Jsoup爬虫技术栈3
-
Jsoup解析字符串
String html = "<html><head><title>Firstparse</title></head><body><p>Parsed HTML into a doc.</p></body></html>" Document doc = Jsoup.parse(html); //获取标题内容 String title = doc.title();
-
Jsoup.parse(String str)方法可以解析HTML字符串,并返回一个Document对象,可以通过解析Document对象来获取我们想要的元素。
4)Jsoup爬虫技术栈4
-
Jsoup解析文件
Document doc = Jsoup.parse(new File("F:\\jsoup.html"),"UTF-8"); //获取标题内容 String title = doc.title();
-
Jsoup.parse(File file,String charSetName)方法可以加载并解析一个HTML文件,并返回一个Document对象,可以通过解析Document对象来获取我们想要的元素。
5)Jsoup爬虫技术栈5
-
使用选择器语法查找元素
-- jsoup元素支持类似于CSS(或jquery)的选择器语法,来实现非常强大和灵活的查找功能。jsoup提供了select(String selector)方法,可以实现指定元素的过滤,或链式选择访问,该方法将放回一个Elements集合对象,并提供一组方法来抽取和处理结果。
-
selector选择器概述:
-- tagname:按照标签查找元素
-- #id:通过id查找元素
-- .class:通过类名查找元素
-- [attribute]:利用属性名查找元素
-- [attr=value]:利用属性值查找元素
6)Jsoup爬虫技术栈6
-
selector选择器的组合使用:
-- el#id:元素+id
-- el.class:元素+class
-- el[attr]:元素+属性名
-- 任意组合:例如 元素[属性名].class
7)Jsoup爬虫技术栈7
-
Elements提供了一系列类似于DOM的方法来提取和操作他们的数据:
-- id():从元素中获取id
-- className:从元素中获取className
-- attr(String str):从元素中获取属性str的值
-- attrbutes:从元素中获取所有属性attributes
-- text():从元素中获取文本内容
三、综合实战
-
以CSDN认证的企业博客,华为开发者论坛为例,需要实现的需求:
-- 获取博主的博客文章数量
-- 获取博主的博客文章列表的页数
-- 获取博主的每篇博客文章的信息(网址、创建时间、标题)
-- 获取每篇博客文章中的图片链接
-- 将所有获取的数据存储到数据库中
四、Jsoup多线程爬虫
-
多线程可以同步完成多项任务,通过提高资源使用效率来提高系统的效率
-
- 点赞
- 收藏
- 关注作者
评论(0)