Jsoup-解析HTML工具(简单爬虫工具)

一、简介

​ jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。官网 中文文档

​ 在爬虫的时候,当我们用HttpClient之类的框架,获取到网页源码之后,需要从网页源码中取出我们想要的内容,就可以使用jsoup这类HTML解析器了。可以非常轻松的实现。

​ jsoup也支持从某个地址直接去爬取网页源码,目前支持HTTP,HTTPS协议。

二、功能

1)从一个URL,文件或字符串中解析HTML

2)使用DOM或CSS选择器来查找、取出数据

3)可操作HTML元素、属性、文本

注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。

三、使用

1、解析HTML

被解析的HTML可以是一个HTML的字符串,可以是一个URL,可以是一个文件。

org.jsoup.Jsoup把输入的HTML转换成一个org.jsoup.nodes.Document对象,然后从Document对象中取出想要的元素。

org.jsoup.nodes.Document继承了org.jsoup.nodes.Element,Element又继承了org.jsoup.nodes.Node类。里面提供了丰富的方法来获取HTML的元素。

从url获取HTML解析

1.Get请求

Document getDocument = Jsoup.connect("http://www.baidu.com").get();

2.Post请求

Document postDocument = Jsoup.connect("http://exmple.com")
.data("query", "java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post();

1.DOM获取元素

//通过id来获取
getElementById(String id)
//通过标签名字来获取
getElementsByTag(String tagName)
//通过类名来获取
getElementsByClass(String className)
//通过属性名字来获取
getElementsByAttribute(String key)
//通过指定的属性名字,属性值来获取
getElementsByAttributeValue(String key, String value)
//获取所有元素
getAllElements()

2.通过类似于css或jQuery的选择器来查找元素

Element类的方法:

public Elements select(String cssQuery)

获取百度搜索按钮value内容

String val = getDocument.select("#su").val();

或者

String su = getDocument.body().getElementById("su").val();

还有更多获取元素的方法,建议还是直接看官方文档,毕竟那才是最干活的,我这里只是简单入门。

Jsoup-解析HTML工具(简单爬虫工具)的更多相关文章

  1. jsoup解析HTML及简单实例

    jsoup 中文参考文献    http://www.open-open.com/jsoup/ 本文将利用jsoup,简单实现网络抓取的功能,并给出一个小实例,该实例效果为:获取作者本人在博客园写的所 ...

  2. 用工具metaseeker写简单爬虫(1)

    1.下载metaseeker(一款比较实用的网站数据采集程序) 2.将所要爬取的网页复制到网址里,按回车.我选择的是当当网新书排行榜页面,标2的地方表示已经导入到软件里了. 3.命名主题,查重,查看是 ...

  3. 简单实现nodejs爬虫工具

    约30行代码实现一个简单nodejs爬虫工具,定时抓取网页数据. 使用npm模块 request---简单http请求客户端.(轻量级) fs---nodejs文件模块.   index.js var ...

  4. 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫

    前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...

  5. python爬虫工具集合

    python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...

  6. 洗礼灵魂,修炼python(52)--爬虫篇—【转载】爬虫工具列表

    与爬虫相关的常用模块列表. 原文出处:传送门链接 网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pycurl). pycurl – 网络 ...

  7. 使用HttpClient和Jsoup实现一个简单爬虫

    一直很想了解一下爬虫这个东西的,完全是出于兴趣,其实刚开始是准备用python的,但是由于种种原因选择了java,此处省略很多字... 总之,如果你想做一件事情的话就尽快去做吧,千万不要把战线拉得太长 ...

  8. Windows下安装配置爬虫工具Scrapy及爬虫环境

    爬虫工具Scrapy在Mac和Linux环境下都相对好装,但是在Windows上总会碰到各种莫名其妙的问题.本文记录下Scrapy在Window上的安装过程. 本文是基于Python2.7及Windo ...

  9. CSV.js – 用于 CSV 解析和编码的 JS 工具库

    逗号分隔值(CSV )文件用于以以纯文本的形式存储表格化数据(数字和文本). CSV 文件包含任意数量的记录,通过某种换行符分隔,每条记录由字段,其他一些字符或字符串分隔,最常用的是文字逗号或制表符. ...

随机推荐

  1. [中秋]宇宙第一 IDE Visual Studio 了解一下

    官网 https://visualstudio.microsoft.com/zh-hans/vs/ 文档 https://docs.microsoft.com/zh-cn/visualstudio/d ...

  2. android中shape 的使用

    android 开发中 对于 shape 和 selector的使用,一直都不是很熟练, 记录一下.便于以后参考. 举个项目中例子图 对于上面的2个radiobutton ,背景我们可以让美工做一个. ...

  3. .Net基础篇_学习笔记_第三天_Convert类型转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.

    场景 在使用pip下载了Imageio之后,需要下载ffmpeag-win-32-v3.2.4.exe文件,一种是在代码的 开头部分加入: imageio.plugins.ffmpeg.downloa ...

  5. CODESYS添加target

    1.主界面进入Tools 2.Install,选择安装包

  6. Android MediaPlayer 基础简介

    本文链接: Android MediaPlayer 基础简介 简单介绍MediaPlayer的基本概念,状态,常用的方法与监听器. 什么是MediaPlayer MediaPlayer类可以用来播放音 ...

  7. Swift从入门到精通第七篇 - 扩展 初识

    扩展(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 扩展 为类.结构体.枚举.协议添加新功能,同OC的分类很像,但扩展没有名字 扩展可以添加计算实例属性和计算类型属性(不能添加 ...

  8. [VB.NET Tips]VB.NET专有的字符串处理函数

    .NET Framework类库中含有专门为Visual Basic.NET程序员设计的函数和过程. 这些方法虽然是为VB.NET程序员设计的,但是也可以被.NET Framework上支持的任何语言 ...

  9. [AWS] 02 - Pipeline on EMR

    Data Analysis with EMR. Video demo: Run Spark Application(Scala) on Amazon EMR (Elastic MapReduce) c ...

  10. WordPress后台地址路径修改方法

    用过WordPress后台的,其实都知道http://域名目录/wp-login.php就是登录地址,如果这时候使用暴力破解,很可能破解密码(这就有些想象力了),下面芝麻带你看看如何自定义美观的地址. ...