序言:在不知道jsoup框架前,因为项目需求。须要定时抓取其它站点上的内容。便想到用HttpClient方式获取指定站点的内容。这样的方法比較笨,就是通过url请求指定站点。依据指定站点返回文本解析。说白了HttpClient充当一下浏览器的角色。返回的文本须要自己处理,一般都是用string.indexOf或者string.subString方法处理。

当有一天发现jsoup这个框架时一时感慨。之前的方法太笨了。。。

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

jsoup主要功能

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

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

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

jsoup是基于MIT协议公布的。可放心使用于商业项目。

jsoup使用方法

File input = new File("D:\test.html");
Document doc =Jsoup.parse(input,"UTF-8","网址");
Elements links = doc.select("a[href]"); // 具有href 属性的链接
Elements pngs = doc.select("img[src$=.png]");//全部引用png图片的元素
Element masthead =doc.select("div.masthead").first();

有没有感觉似曾相识呢。没错,里边的使用方法跟javascript和jquery非常像,所以简单看下jsoup的API就能够直接使用了。

jsoup都能够做什么呢?

1、CMS系统经常使用来做新闻的抓取(爬虫)

2、防止XSS攻击。跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS

2、站点的攻击、破坏(须要熟悉HTTP协议)

网页爬虫框架jsoup介绍的更多相关文章

  1. java爬虫框架jsoup

    1.java爬虫框架的api jsoup:https://www.open-open.com/jsoup/

  2. Java爬虫框架Jsoup学习记录

    Jsoup的作用 当你想获得某网页的内容,可以使用此框架做个爬虫程序,爬某图片网站的图片(先获得图片地址,之后再借助其他工具下载图片)或者是小说网站的小说内容 我使用Jsoup写出的一款小说下载器,小 ...

  3. python scrapy爬虫框架概念介绍(个人理解总结为一张图)

    python的scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架   python和scrapy的安装就不介绍了,资料很多 这里我个人总结一下,能更加快理解scrapy和快速上手一个简 ...

  4. 网页爬虫--scrapy入门

    本篇从实际出发,展示如何用网页爬虫.并介绍一个流行的爬虫框架~ 1. 网页爬虫的过程 所谓网页爬虫,就是模拟浏览器的行为访问网站,从而获得网页信息的程序.正因为是程序,所以获得网页的速度可以轻易超过单 ...

  5. Python爬虫框架Scrapy安装使用步骤

    一.爬虫框架Scarpy简介Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python ...

  6. Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...

  7. Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  8. PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍

    第一篇文章介绍了使用原生的PHP和PHP的扩展库实现了爬虫技术.本文尝试使用PHP爬虫框架来写,首先对三种爬虫技术phpQuery,PHPcrawer, snoopy进行对比,然后分析模拟浏览器行为的 ...

  9. 爬虫--Scrapy框架课程介绍

    Scrapy框架课程介绍: 框架的简介和基础使用 持久化存储 代理和cookie 日志等级和请求传参 CrawlSpider 基于redis的分布式爬虫 一scrapy框架的简介和基础使用 a)    ...

随机推荐

  1. python-sqlite3事务

    sqlite3事务总结: 在connect()中不传入 isolation_level 事务处理: 使用connection.commit() #!/usr/bin/env python # -*- ...

  2. C - Puzzles

    Problem description The end of the school year is near and Ms. Manana, the teacher, will soon have t ...

  3. canvas动画简单操作

    canvas动画 小球滚动效果 关键api: window.requestAnimationFrame(draw) 会递归调用draw函数,替代setInterval var x = 20; var ...

  4. JavaScript中的工厂方法、构造函数与class

    JavaScript中的工厂方法.构造函数与class 本文转载自:众成翻译 译者:谢于中 链接:http://www.zcfy.cc/article/1129 原文:https://medium.c ...

  5. win10下mysql安装过程中遇到的各种坑

    前几天重装系统,又要下回来mysql,但没想到还是遇到了许多麻烦,翻了十多篇博文才搞定,写个总结出来方便以后不要重复踩坑,也给大家参考参考. 1.下载与安装 这个没什么好说的,下载地址网上一大堆,安装 ...

  6. Java 解决一些ACM中大数问题

    大数中算术运算结果的首选标度 运算 结果的首选标度 加 max(addend.scale(), augend.scale()) 减 max(minuend.scale(), subtrahend.sc ...

  7. How to share memory between services and user processes?

    除了必要的InitializeSecurityDescriptor和SetSecurityDescriptorDacl, 内存映射文件名必须GLOBAL开头.

  8. todo reading

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind https ...

  9. MySQL安装部署

    MySQL安装部署 使用自动化脚本

  10. SaltStact自动化运维工具03

    存储位置   类型      采集方式                 场景Grains    minion        静态    minion启动时,可以刷新    1.获取信息 2.匹配pil ...