java jsoup 网络爬虫 学习例子(二) 只抓取豆瓣电影5星(力荐)电影名称 jsoup解析html

Jsoup爬虫实例 一、简介jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数。 阅读详情
package com.iteye.injavawetrust.review;

/**
 * 
 * @author InJavausWeTrust
 *
 */
public enum Star {

	one("很差"), two("较差"), three("还行"), four("推荐"), five("力荐");

	private String star;

	private Star(String star) {
		this.star = star;
	}

	public String getStar() {
		return star;
	}

}


package com.iteye.injavawetrust.review;

/**
 * 
 * @author InJavaWeTrust
 *
 */
public class DouBanReview {

	public static void main(String[] args) {
		JsoupUtil ju = JsoupUtil.getInstance();
		ju.getDoubanReview();
	}

}



package com.iteye.injavawetrust.review;

/**
 * 
 * @author InJavaWeTrust
 *
 */
public class Constants {

	/**
	 * 豆瓣最受欢迎的影评URL
	 */
	public static final String URL = "http://movie.douban.com/review/best/";
	/**
	 * 每页显示记录条数
	 */
	public static final int NUM = 10;

	/**
	 * 拼接分页
	 */
	public static final String START = "?start=";

}



package com.iteye.injavawetrust.review;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 
 * @author InJavaWeTrust
 *
 */
public class JsoupUtil {

	private JsoupUtil() {

	}

	private static final JsoupUtil instance = new JsoupUtil();

	public static JsoupUtil getInstance() {
		return instance;
	}
	
	/**
	 * 将电影名称和评论写入文件
	 * @param name 电影名称
	 * @param star 评论
	 */
	public void writeFile(String name, String star){
		File file = new File("E:\\douban\\fiveStarReview.txt");
		Writer writer = null;
		try {
			writer = new FileWriter(file, true);
			writer.write(star + "   " + name + "\r\n");
			writer.flush();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(null != writer){
				try {
					writer.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	/**
	 * 只抓取5星(力荐)电影名称
	 */
	public void getDoubanReview(){
		try {
			//只得到1-5页数据
			for(int i = 0; i < 5; i++){
				String url = Constants.URL + Constants.START + String.valueOf(i * Constants.NUM);
				System.out.println(url);
				Connection connection = Jsoup.connect(url);
				Document document = connection.get();
				Elements ul = document.select("ul"); // 得到ul标签
				Iterator<Element> ulIter = ul.iterator();
				while (ulIter.hasNext()) {
					Element element = ulIter.next();
					Elements eleLi = element.select("li.clst*"); // 得到ul里的li.clst*标签
					Iterator<Element> liIter = eleLi.iterator();
					while (liIter.hasNext()) {
						Element liElement = liIter.next();
						Elements eleSpan = liElement.select("span.pl*"); // 得到ul里的li.clst*里span.pl*的标签
						Elements eleHref = eleSpan.select("a[href]");
						String name = eleHref.text().substring(eleHref.text().indexOf("《"));
						Elements eleStar = eleSpan.select("span[title]");
						String star = eleStar.attr("title");
						//抓取5星(力荐)电影名称
						if(Star.five.getStar().equals(star)) {
							System.out.println(name + " " + star);
							JsoupUtil.getInstance().writeFile(name, star); //写入文件
						}
					}
				}
			}
			

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
}

 

 

运行结果:

 

http://movie.douban.com/review/best/?start=0
《太阳的后裔》 力荐
《银翼杀手》 力荐
《维京传奇 第三季》 力荐
《因为爱情有幸福》 力荐
《卡罗尔》 力荐
《火影忍者剧场版:博人传》 力荐
http://movie.douban.com/review/best/?start=10
《太阳的后裔》 力荐
《后宫·甄嬛传》 力荐
《怪物之子》 力荐
《太阳的后裔》 力荐
http://movie.douban.com/review/best/?start=20
《太阳的后裔》 力荐
《重庆森林》 力荐
《浴血重生》 力荐
《夜班经理》 力荐
《没有宇宙我们无法生存》 力荐
《女巫》 力荐
http://movie.douban.com/review/best/?start=30
《邮差》 力荐
《特鲁曼》 力荐
《上瘾》 力荐
《喜剧之王》 力荐
《詹姆斯·伯罗斯特辑》 力荐
http://movie.douban.com/review/best/?start=40
《太阳的后裔》 力荐
《浴血重生》 力荐
《奶酪陷阱》 力荐
《卧虎藏龙》 力荐
《太阳的后裔》 力荐

 

文件截图:

 

 

jsoup的jar包及例子 jsoupjar包,附带例子,有jsoup的使用说明 立即下载

相关推荐

java html解析 工具jsoup和一个简单例子

Java解析html的实用工具jsoup和它一个简单的例子,方便使用jsoup进行html的解析

Jsoup使用教程以及使用案例

jsoup 是一款基于 Java 的HTML解析器,它提供了一套非常省力的API,不但能直接解析某个URL地址、HTML文本内容,而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据,所以 jsoup 也可以被当做爬虫工具使用,从网站获取dom结构,从而解析下载数据。tagname: 通过标签查找元素,例如通过"a"来查找< a >标签。#id: 通过ID查找元素,比如通过#logo查找< p id=“logo”>

苍煜 2万+

jsoup爬虫案例

jsoup爬虫案例...................................................................................。。。。。。。。。。。。。。。

java jsoup实例_Jsoup应用实例

在本篇文章中,将列出了一些常用的jsoup例子,例如获取URL或HTML文档的标题,链接,图像和元数据。1. 获取URL的标题Document doc = Jsoup.connect("http://www.yiibai.com").get();String title = doc.title();2. 从HTML文件获取标题Document doc = Jsoup.parse(new File(...

weixin_35930535的博客 389

SpringCloudGateway网关高频20个面试题整理

Spring Cloud Gateway 是基于 Spring 5、Project Reactor 和 Spring Boot 2 构建的 API 网关,提供动态路由、监控、弹性、安全等核心功能。Spring Cloud Gateway 是 Spring Cloud 生态中的 API 网关,用于微服务架构中的请求路由、负载均衡、限流、鉴权等。实现@Component@Override// 逻辑处理。

u012024132的专栏 1114

S32K系列之PDB框图详解及PDB触发ADC

可编程延迟模块PDB,PDB可提供从内部或外部触发或可编程间隔信号到ADC硬件触发输入的可控制延迟。 PDB可以选择提供脉冲输出,用作CMP块中的采样窗口。 S32K系列的PDB资源如下表: PDB功能框图 在下图中,以下字母表示的意义: N:PDB通道的总数 n:PDB通道号,范围从0到N-1 M:每个PDB通道的总可用预触发 m:预触发编号,范围从0到M-1 Y:脉冲输出的总数 y:脉冲数...

zz56z56的博客 1万+

Java爬虫利器:Jsoup详细介绍与用法

使用Java库Jsoup,我们可以轻松地解析和处理HTML文档,从而从网页中提取所需的信息。我们可以使用选择器和查找元素的功能快速定位和提取元素,使用提取元素属性和文本的功能获取所需的内容,使用遍历和修改元素的功能对元素进行操作,甚至可以使用Jsoup处理HTML表单。Jsoup是一款功能强大且易于使用的Java爬虫专用库,相信通过本文的介绍,您已经对Jsoup有了更深入的了解,并能够灵活运用它来解决实际问题。让我们一起享受用Jsoup编写爬虫程序的乐趣吧!

hitpter的专栏 4565

ROS专栏—基于STM32F103的INA219电源数据采集

文章主要记录了stm32f103对ina219的数据采集

热爱生活、奋斗前行 2355

java jsoup 网络爬虫 jsoup解析html Java爬虫 Jsoup爬虫 jsoup例子

java jsoup 网络爬虫 java jsoup 网络爬虫 学习例子(一)抓取豆瓣电影名称+推荐星级 java jsoup 网络爬虫 学习例子(二)只抓取豆瓣电影5星(力荐)电影名称 java jsoup 网络爬虫 学习例子(三)抓取豆瓣电影海报图片 下载到本地 java jsoup 网络爬虫 学习例子(四)抓取网页连接插入mysql数据库 java ...

18万+

预处理详解(三)—— 命令行定义 + 条件编译 + 文件包含

文章目录前言 前言

2021dragon的博客 2189

opencv 常用函数总结

本文是一份OpenCV图像处理的常用函数总结,详细介绍了图像的读入、显示、保存、像素处理、图像属性获取、基础操作、阈值处理、图像平滑、形态学转换以及直方图处理等关键技术。文章通过代码示例和参数说明,帮助读者快速掌握OpenCV在图像处理领域的应用。

weixin_44063529的博客 1600

java jsoup 网络爬虫 学习例子(二) 只抓取豆瓣电影5星(力荐)电影名称

Java代码   package com.iteye.injavawetrust.review;      /**   *    * @author InJavausWeTrust   *   */   public enum Star {          one("很差"), two("较差"), three("还行"), four("推荐"), five("力

chenzpandy的博客 2508

Wio-LR1121多频段LoRa模块技术解析与应用实践

LoRa技术作为低功耗广域物联网(LPWAN)的核心通信方案,通过独特的扩频调制技术实现远距离传输与强抗干扰能力。其工作原理基于CSS(Chirp Spread Spectrum)调制,支持动态调整扩频因子(SF)和带宽(BW)来平衡传输距离与数据速率。Wio-LR1121模块作为Semtech LR1121芯片的载体,创新性地整合了sub-GHz、S-Band和2.4GHz多频段支持,配合仅1.35μA的睡眠电流,为跨境物联网部署提供了硬件基础。在智慧农业、工业监测等场景中,开发者可通过SPI接口快速集成

weixin_33742618的博客 417

一个简单的Jsoup抓取页面信息的例子

简介: jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。在本文,本人将教大家如何使用jsoup抓取一些简单的页面信息准备: jsoup的jar包:https://jsoup.org/download 开发工具:eclips...

qq_41441210的博客 3776

第3讲:单端传输线的时域TDR仿真(基于实战的第一次仿真视角切换)

本文为CST仿真系列教程的第3讲,主要介绍传输线阻抗(TDR)的两种仿真方法:基于S参数的频域计算和基于高斯脉冲的时域计算。文章详细演示了在CST PCB Studio中修改电容参数、设置TDR仿真参数(包括截止时间和采样点数)的操作步骤,并通过对比实验展示TVS寄生电容对阻抗曲线的影响。最后将两种TDR方法的结果进行对比,验证了两种方法的一致性。本教程适合硬件工程师通过时域波形直观分析传输线阻抗特性,是信号完整性分析的重要技能。

一只豌豆象的博客 230

【入坑存内计算一键指南】存内计算运算原理:算法优化、存储介质探究

本文探讨了存内计算及其面向的架构优化,尤其侧重于图算法优化和存内计算存储介质。文章介绍了存内计算的概念和意义,着重强调了存内计算解决了内存墙问题,提高了计算效率。针对图算法的优化,提出了基于位运算的创新方法,重塑了单源最短路径算法,并介绍了基于局部重叠度的链路预测算法优化设计。接着,文章详细讨论了存内计算存储介质,特别是非易失性存储器,比较了不同类型存储器的性能,并重点介绍了基于ReRAM的存内计算技术,包括其物理模型和交叉阵列结构。

一键难忘的博客 7068

jsoup示例

package com.javen.Jsoup;import java.io.IOException;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;public class JsoupTest {

光与热的博客 532

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【Java】Jsoup爬虫快速入门案例

1、前言 该技术博客是根据B站狂神说Java教程的笔记总结,希望能为大家带来帮助! 2、Jsoup实战案例 爬虫可以理解为爬取数据,所谓爬取数据就是: 获取请求返回的页面信息,筛选出我们想要的数据 如果想要爬取数据,需要通过jsoup,所以首先我们需要创建一个maven项目,在maven中导入jsoup依赖jar包: <!--jsoup:用于解析网页。不能爬取电影、音乐等--> <!--如果想要爬取电影音乐资源,需要导入tika依赖--> <dependency>

保持学习 1237

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jsoup使用实例

package jsoup; import java.io.File; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringEscapeUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import

云守护的专栏 6805

给爬虫爱好者的福利 SelectGadget

作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 相信爬虫的爱好者们都经历过这样一个爬虫前期的准备过程,那就是用浏览器的审查元素进行爬取目标的定位。每次我们都要浪费部分时间去寻找定位点和xpath,这样既不很方便,也不高效,那么如何提高爬虫中这部分工作的效率呢?今天博主给大家分享一个爬虫的利器,它就是:SelectorGadget。 SelectorGadget...

weixin_34138255的博客 526

infolite-爬虫利器~

infolite(中文检索系统)~爬虫利器infolite今天为大家分享一个爬虫利器—infolite。这是一个chrome浏览器的插件,如果你在写爬虫的时候对复杂繁琐的控件路径分析是深恶痛绝。那么infolite绝对是你最好的选择。安装打开chrome浏览器进到chrome的网上商店页面。在搜索栏敲入infolite,如图所示  如果搜索不出来,搜索SelectorGadget还是不行的话点击打...

丿灬安之若死 2883

java jsoup 网络爬虫 学习例子(六)京东和当当商品比价

java jsoup 网络爬虫 学习例子(六)京东和当当商品比价 package com.iteye.injavawetrust.jdvsdd; import java.util.List; /** * * @author InJavaWeTrust * */ public interface ProductList { /** * 爬取商...

14万+

java jsoup 网络爬虫 学习例子(五)宽度优先

java jsoup 网络爬虫 学习例子(五) 宽度优先 package com.iteye.injavawetrust.gethtml; import java.util.Map; import java.util.Set; /** * * @author InJavaWeTrust * */ public class GetHtml { private stati...

13万+

mantis

Mantis与SVN(subversion)的集成 2007-3-24 Mantis与SVN(subversion)的集成  集成SVN源码管理和Mantis缺陷跟踪 要集成Mantis和SVN,需要几个工具: SVN客户端,有个windows下的很不错的工具,TortoiseSVN,完全集成在e

TomyGuan的专栏 2312

java爬虫:jsoup的简单案例

package jsoup;import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;//jsoup跟JavaScript有些类似,主要用于爬取静态的网页。需要自己下...

清辰的博客 947

java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS

java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS /* * filename getHtml.js * phantomjs.exe 2.0.0 * author InJavaWeTrust */ var system = require('system'); var address = ''; if (system.args....

14万+
上一篇: java jsoup jsoup解析html 网络爬虫 学习例子(一) 抓取兜电影名称+推荐星级
下一篇: jsoup 选择器(一)常规选择器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值