Jsoup介绍:
Jsoup 是一个 Java 的开源HTML解析器,可直接解析某个URL地址、HTML文本内容

Jsoup主要有以下功能:
1. 从一个URL,文件或字符串中解析HTML
2. 使用DOM或CSS选择器来查找、取出数据
3. 对HTML元素、属性、文本进行操作
4. 清除不受信任的HTML (来防止XSS攻击)

<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.9.2</version>
</dependency>
public class JsoupDemo {
private static OutputStream os; public static void main(String[] args) {
try {
Document doc = Jsoup.connect("https://www.csdn.net/").get();
// System.out.println(doc.title()); //CSDN-专业IT技术社区
//把文章标题和连接写入txt文件
Element feedlist_id = doc.getElementById("feedlist_id");
Elements h2 = feedlist_id.select("h2.csdn-tracking-statistics");
Elements a = h2.select("a");
//指定文件名及路径
File file = new File("E:\\jsoup\\word\\test.txt");
if (!file.exists()) {
file.createNewFile();
}
//写入本地
PrintWriter pw = new PrintWriter("E:\\jsoup\\word\\test.txt","UTF-8");
for (Element element : a) {
pw.println(element.text());
pw.println(element.attr("href"));
pw.println("------------------------------------------------------------------------------------------------------------------------------------");
}
pw.close(); //关闭输出流
//获取页面上的图片保存到本地
Elements imgs = doc.select("img[src$=.png]");
for (Element element : imgs) {
String img = element.attr("src");
String url = "http:"+img;
System.out.println(url);
System.out.println(url.indexOf("csdn"));
if (url.indexOf("csdn")==-1) {
continue;
}
URL u = new URL(url);
URLConnection uc=u.openConnection();
//获取数据流
InputStream is=uc.getInputStream();
//获取后缀名
String imageName = img.substring(img.lastIndexOf("/") + 1,img.length());
//写入本地
os = new FileOutputStream(new File("E:\\jsoup\\img", imageName));
byte[] b = new byte[1024];
int i=0;
while((i=is.read(b))!=-1){
os.write(b, 0, i);
}
is.close();
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

网络爬虫技术Jsoup的更多相关文章

  1. 网络爬虫技术Jsoup——爬到一切你想要的(转)

    转自:http://blog.csdn.net/ccg_201216323/article/details/53576654 本文由我的微信公众号(bruce常)原创首发, 并同步发表到csdn博客, ...

  2. 网络爬虫技术实现java依赖库整理输出

    网络爬虫技术实现java依赖库整理输出 目录 1       简介... 2 1.1      背景介绍... 2 1.2      现有方法优缺点对比... 2 2       实现方法... 2 ...

  3. 企业级Python开发大佬利用网络爬虫技术实现自动发送天气预告邮件

    前天小编带大家利用Python网络爬虫采集了天气网的实时信息,今天小编带大家更进一步,将采集到的天气信息直接发送到邮箱,带大家一起嗨~~拓展来说,这个功能放在企业级角度来看,只要我们拥有客户的邮箱,之 ...

  4. Java网络爬虫技术《二》Jsoup

    Jsoup 当我们成功抓取到页面数据了之后,还需要对抓取的数据进行解析,而刚好,Jsoup 是一款专门解析 html 页面的技术.Jsoup是一款基于 Java 的HTML 解析器,可直接解析某个 U ...

  5. 网络爬虫之JSOUP

    JSOUP中文文档:http://www.open-open.com/jsoup/推荐博客:http://www.cnblogs.com/jycboy/p/jsoupdoc.html 从一个URL加载 ...

  6. Java网络爬虫技术《一》 HttpClient

    HttpClient HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP ...

  7. python网络爬虫技术图谱

  8. [Search Engine] 搜索引擎技术之网络爬虫

    随着互联网的大力发展,互联网称为信息的主要载体,而如何在互联网中搜集信息是互联网领域面临的一大挑战.网络爬虫技术是什么?其实网络爬虫技术就是指的网络数据的抓取,因为在网络中抓取数据是具有关联性的抓取, ...

  9. 网络爬虫系统Heritrix的结构分析 (个人读书报告)

      摘要 随着网络时代的日新月异,人们对搜索引擎,网页的内容,大数据处理等问题有了更多的要求.如何从海量的互联网信息中选取最符合要求的信息成为了新的热点.在这种情况下,网络爬虫框架heritrix出现 ...

随机推荐

  1. redis随记

    CONFIG REWRITE  将config文件  将服务器当前所使用的配置记录到 redis.conf 文件中.

  2. VBS脚本完美实现开机延时启动

    目录 概述 vbs内容示例: vbs示例语句分析 自定义vbs脚本 一些问题和解决方法   概述 系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久.为了加快windows的开机速度 ...

  3. js面试总结2

    原型和原型链: 题目,知识点,解答: 1.如何准确地判断一个变量是数组类型 2.写一个原型链继承的例子 3.描述new一个对象的过程 4.zepto(或其他框架)源码中如何使用原型链. 知识点 构造函 ...

  4. Centos7 下修改日期

    Centos7 下修改日期 2017年11月19日 19:37:47 harris135 阅读数:2851    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  5. (2)mysql数据类型

    数据类型 1.整数类型 浮点类型 定点数类型 decimal(M,D)也看作(numeric) decimal(8,2) M是定点精度,D是小数位数.指定小数点左边.右边加一起共8位数.也就是整数部分 ...

  6. iOS开发NSMutableArray数组越界处理

    #import "NSArray+CrashArray.h" #import <objc/runtime.h> @implementation NSObject (Un ...

  7. 《DSP using MATLAB》Problem 8.37

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  8. 08_springboot2.x自定义starter

    概述 starter:启动器 1.这个场景需要使用到的依赖是什么? 2.如何编写自动配置 规则: @Configuration //指定这个类是一个配置类 @ConditionalOnXXX //在指 ...

  9. Pycharm VS VS Code(个人使用感受)

    Pycharm IDE (community enough!) 简单介绍:Pycharn的确是我刚开始学习python时,除了Visual Studio之外,上手的第二个IDE,最初是因其好看的界面, ...

  10. 02-python 学习第二天

    今天学习了以下几个方面的内容,虽然部分内容不能理解,跟着老师写出了代码. 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 程序练习1:购物车程序 请闭眼写出以下程序. 程序: ...