一款基于豆瓣图书API创建的,支持批量导入和获取图书信息的API。
依赖包:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
使用方法:
- 配置基本信息:
目前支持存储到redis
数据库中,配置相关信息:- 打开模块下的 "/resouces/redis.properties ",配置信息:
redis.host= 127.0.0.1 //redis 主机地址
redis.port=6379 //监听端口
redis.pass= // 密码,无则为空
redis.db=1 // 数据库片
redis.timeout=2000 //最大响应时间
redis.maxIdle=5
redis.maxTotal=20
redis.maxWaitMills=1000
redis.testOnBorrow=true
- 调用
OpenBook
对象;
public void getBookByIsbn13(int p,int c)
p代表为从豆瓣读取线程数,c代表存入到redis内线程数public static Book getBookByIsbn13(ISBN13 isbn13)
,类方法,代表从redis了获取book对象
- 实例:导入一系列(ISBN13)书籍:
package BookTest;
import Pojo.ISBN13;
import Spider.OpenBook;
public class GetAndSave {
public static void main(String[] args) {
ISBN13[] isbn13s={new ISBN13("9787540482855"),new ISBN13("9787508682983"),new ISBN13("9787020125265"),
new ISBN13("9787559411433"),new ISBN13("9787530216996"),new ISBN13("9787111212508"),new ISBN13("9787540483579")};
OpenBook openBook=new OpenBook(isbn13s,3);
openBook.getBookByIsbn13(3,2);
}
}
result:
9787020125265 [意] 埃莱娜·费兰特
9787540482855 马伯庸
9787530216996 [日] 安野光雅
9787559411433 白云先生
9787508682983 Lens
9787540483579 [美] 卡森·麦卡勒斯
9787111212508 埃克尔
同样,OpenBook 也可以采用字符串输入,不过要使用 ` ,或/或\ `符号隔开。