代码拉取完成,页面将自动刷新
package 广大图书馆;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.util.*;
public class GuangZhouUniversity {
public static void main(String[] args) {
System.out.println("==========广州大学图书馆馆藏查询==========");
Scanner sc = new Scanner(System.in);
System.out.print("请输入你想查询的书籍:");
String keyword = sc.nextLine();
try{
Document doc = Jsoup.connect("http://lib.gzhu.edu.cn:8080/bookle/?query="+keyword).get();
Elements booknames = doc.select(".book_info").select("h2").select("a");
// System.out.println(booknames.toString());
Map<String, String> books = new HashMap<String, String>();
for(Element eachbook:booknames){
books.put(eachbook.text(),"http://lib.gzhu.edu.cn:8080"+eachbook.attr("href"));
}
/*
http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200298940?index=default&source=biblios
/bookle/search2/detail/200298940?index=default&source=biblios
测试语句:
for (String key : books.keySet()) {
System.out.println("{" + key + " : " + books.get(key)+"}");
}
测试result:以keyword=docker为例子:
==========广州大学图书馆馆藏查询==========
请输入你想查询的书籍:docker
{Docker全攻略 : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200298940?index=default&source=biblios}
{没什么难的Docker入门与开发实战 : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200342247?index=default&source=biblios}
{第一本Docker书= The docker book : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200302192?index=default&source=biblios}
{Docker生产环境实践指南= Docker in production : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200311026?index=default&source=biblios}
{Swarm容器编排与Docker原生集群= Native Docker clustering with Swarm : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200337202?index=default&source=biblios}
{自己动手写Docker : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200342083?index=default&source=biblios}
{Docker容器实战 : 原理、架构与应用 : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200321617?index=default&source=biblios}
{循序渐进学Docker= Learning docker step by step : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200321700?index=default&source=biblios}
{Docker进阶与实战 : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/200295653?index=default&source=biblios}
{黑色码头工人 : http://lib.gzhu.edu.cn:8080/bookle/search2/detail/453211?index=default&source=biblios}
*/
// ==================================这里继续做小功能============================================= //
System.out.println("请在以下列表中确认您要查询馆藏的书籍:");
for (String key : books.keySet()) {
System.out.println("{" + key + "}");
}
System.out.print("请输入你想二次查询的书籍:");
String SecondKeyWord = sc.nextLine();
if(books.containsKey(SecondKeyWord)){
try {
Document doc2 = Jsoup.connect(books.get(SecondKeyWord)).get();
// System.out.println(doc2);
Elements Current_bookname = doc2.select(".book_holding").select("tbody").select("tr");
String Current_Key=Current_bookname.select("th").text();
String Current_Value=Current_bookname.select("td").text();
System.out.println("==========您要的书籍馆藏地址查询结果为:==========");
System.out.println(Current_Key);
System.out.println(Current_Value);
System.out.println("==========感谢查询==========");
/*OutPut:
条码号 状态 借出日期 应还日期 馆藏地点 流通类型 卷册说明
A2059117 借出 20171013 20180111 中文理科书库二(402室) [架位] 中文图书
*/
} catch (Exception e){
System.out.println("二次链接失效,~Orz~");
e.printStackTrace();
}
}
}catch (Exception e){
System.out.println("一次链接失效。~>-<~Orz");
e.printStackTrace();
}
}
}
/*运行结果:以查询"docker"为例子:
==========广州大学图书馆馆藏查询==========
请输入你想查询的书籍:docker
请在以下列表中确认您要查询馆藏的书籍:
{Docker全攻略}
{没什么难的Docker入门与开发实战}
{第一本Docker书= The docker book}
{Docker生产环境实践指南= Docker in production}
{Swarm容器编排与Docker原生集群= Native Docker clustering with Swarm}
{自己动手写Docker}
{Docker容器实战 : 原理、架构与应用}
{循序渐进学Docker= Learning docker step by step}
{Docker进阶与实战}
{黑色码头工人}
请输入你想二次查询的书籍:Docker全攻略
==========您要的书籍馆藏地址查询结果为:==========
条码号 状态 借出日期 应还日期 馆藏地点 流通类型 卷册说明
A2059117 借出 20171013 20180111 中文理科书库二(402室) [架位] 中文图书
==========感谢查询==========
*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。