2 Star 0 Fork 0

taroballs / YuyuanSpider

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
广州大学爬虫 5.57 KB
一键复制 编辑 原始数据 按行查看 历史
taroballs 提交于 2018-01-06 20:05 . 新建 广州大学爬虫
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) [架位] 中文图书
==========感谢查询==========
*/
Java
1
https://gitee.com/YuYuanSpider/YuyuanSpider.git
git@gitee.com:YuYuanSpider/YuyuanSpider.git
YuYuanSpider
YuyuanSpider
YuyuanSpider
master

搜索帮助