以ISBN去查询图书信息,主要是用在自建数据库时使用,这些图书的元数据是不必再重复录入,以ISBN号去检索都能找到。但关键在于如何“批量”,“免费”,“导出”为自已数据库所需要的格式。
ISBN库的数据来源采用OpenISBN(http://www.openisbn.com)提供的,还是采用页面分析技术来提取所需信息,再将这些信息插入到自已的数据库中。由于时间关系,只是做了个草稿,但基本能完成任务。
使用技术:AIR,数据库sqlite。sqlite管理工具使用firefox的SQLiteManager。采集页面上的文字信息及图片信息,封面图片是来自Amazon服务上的,提供一个下载图片的功能,毕竟有些情况下需要将图片放在自己的服务器上,而不是引用Amazon链接。
calis单条免费,批量收费.国图也有这些数据,还有一些联合编目系统.
还是找国内的网站来抓取比较快速一些,对于国内出版的书也比较全.比如:http://www.cbip.cn/index.aspx
最好能直接按标准格式导出.这在里可批量查询,更高效些.
书号查询官网
http://www.shuhaochaxun.com/index.html
http://www.cnmarc.org/
http://www.91marc.cn/
http://hi.baidu.com/sjzwcs/item/0e14cc0d9102c931a2332ad6
国图的OPAC(有MARC),http://opac.nlc.gov.cn
顺便做了一个HTML5的查询页面,使用jquery,在chrome中调试。可惜使用的WEB数据库sqlite只能在Chrome中使用,firefox还不支持。在Chrome用三个函数就能使用Sqlite了,openDatabase获得db对象,db.transaction,dx.executeSql执行SQL语句。chrome的数据文件保存在安装目的ChromeUserDataDefaultdatabasesfile__0下,
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>lltISBN Search forChrome</title>
<script type="text/javascript"src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
var db;
document.addEventListener('DOMContentLoaded',function(){
db =openDatabase('lltISBNDB','','ISBN Query demo',102400);
db.transaction(function(tx){tx.executeSql('CREATE TABLE IF NOTEXISTS ISBN (ISBN10 TEXT PRIMARY KEY,ISBN13 TEXT,AuthorsTEXT,Keywords TEXT,Pages TEXT,Published TEXT,Language TEXT,CategoryTEXT,Binding TEXT,Price TEXT,Rating TEXT,Publisher TEXT,URLTEXT,ImagePath TEXT,Intro TEXT,Title TEXT);',[]);});
$("#btnQueryAll").bind("click", function(){
db.transaction(function(tx){
tx.executeSql('SELECT * FROMISBN',[],function(tx,rs){
showRS(rs);
});
});
});
$("#btnQuery").bind("click", function(){
db.transaction(function(tx){
tx.executeSql('SELECT * FROM ISBN WHEREISBN10=?',[$("#txtISBN").val()],function(tx,rs){
showRS(rs);
});
});
});
});
functioncreateTableHeader()
{
vartr=document_createElement_x_x_x_x_x_x("tr");
varth=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="ISBN10";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="ISBN13";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="作者";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="出版社";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="出版时间";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
![批量ISBN查询导出工具 isbn批量查询](http://img.aihuau.com/images/01111101/01061643t012e0475e247f84fee.jpg)
th.innerHTML="简介";
$(tr).append(th);
th=document_createElement_x_x_x_x_x_x("th");
th.innerHTML="封面";
$(tr).append(th);
$("#tblRS").append(tr);
}
functionshowRS(rs)
{
$("#tblRS").empty();
createTableHeader();
for(vari=0;i<rs.rows.length;i++){
vartr=document_createElement_x_x_x_x_x_x("tr");
vartd=document_createElement_x_x_x_x_x_x("td");
varimg=document_createElement_x_x_x_x_x_x("img");
td.innerHTML=rs.rows.item(i).ISBN10;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
td.innerHTML=rs.rows.item(i).ISBN13;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
td.innerHTML=rs.rows.item(i).Authors;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
td.innerHTML=rs.rows.item(i).Publisher;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
td.innerHTML=rs.rows.item(i).Published;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
td.innerHTML=rs.rows.item(i).Intro;
$(tr).append(td);
td=document_createElement_x_x_x_x_x_x("td");
varimg=document_createElement_x_x_x_x_x_x("img");
$(img).attr("src",rs.rows.item(i).ImagePath);
$(td).append(img);
$(tr).append(td);
$("#tblRS").append(tr);
}
}
</script>
</head>
<body>
<h1>lltISBN Search forChrome</h1>
ISBN号:<input type="text"id="txtISBN">
<input type="button" value="查找" id="btnQuery">
<input type="button" value="显示所有数据" id="btnQueryAll">
<br />
<divid="divCount"></div>
<hr>
<tableid="tblRS"></table>
<h5>注:数据来源http://www.openisbn.com</h5>
</body>
</html>