博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图书信息库完整解决方案(六)豆瓣接口
阅读量:4551 次
发布时间:2019-06-08

本文共 3141 字,大约阅读时间需要 10 分钟。

为了综合当当和豆瓣的图书详情数据,这里在图书信息从当当抓取成功后,根据isbn信息再从豆瓣获取一次图书详情数据。

相关豆瓣图书的接口地址为:

https://developers.douban.com/wiki/?title=book_v2#get_isbn_book

然后将豆瓣与当当的图书详情进行比对,豆瓣如果存在对应的字段则以豆瓣的为准:

1 private boolean compareBookInfo(BookInfo srcInfo, BookInfo dstInfo){ 2         boolean update = false; 3          4         //title 5         if(!StringUtils.isEmpty(srcInfo.getTitle())  6                 && !srcInfo.getTitle().equalsIgnoreCase(dstInfo.getTitle())){ 7             dstInfo.setTitle(srcInfo.getTitle()); 8             update = true; 9         }10         11         //subtitle12         if(!StringUtils.isEmpty(srcInfo.getSubtitle())13             && !srcInfo.getSubtitle().equalsIgnoreCase(dstInfo.getSubtitle())){14             dstInfo.setSubtitle(srcInfo.getSubtitle());15             update = true;16         }17         18         //image19         if(!StringUtils.isEmpty(srcInfo.getImage())20             && !srcInfo.getImage().equalsIgnoreCase(dstInfo.getImage())21             && ( StringUtils.isEmpty(dstInfo.getImage()) ||  dstInfo.getImage().contains("book-default"))22             ){23             dstInfo.setImage(srcInfo.getImage());24             update = true;25         }26         27         //author28         if(!StringUtils.isEmpty(srcInfo.getAuthor())29                 && !srcInfo.getAuthor().equalsIgnoreCase(dstInfo.getAuthor())){30             dstInfo.setAuthor(srcInfo.getAuthor());31             update = true;32         }33         34         //author_info35         if(!StringUtils.isEmpty(srcInfo.getAuthor_intro())36                 && !srcInfo.getAuthor_intro().equalsIgnoreCase(dstInfo.getAuthor_intro())){37             dstInfo.setAuthor_intro(srcInfo.getAuthor_intro());38             update = true;39         }40 41         //rating42         if(!StringUtils.isEmpty(srcInfo.getRating())43                 && !srcInfo.getRating().equalsIgnoreCase(dstInfo.getRating())){44             dstInfo.setRating(srcInfo.getRating());45             update = true;46         }47         48         //price49         if(!StringUtils.isEmpty(srcInfo.getPrice())50                 && StringUtils.isEmpty(dstInfo.getPrice())){51             dstInfo.setPrice(srcInfo.getPrice());52             update = true;53         }54         55         //tags56         if(!StringUtils.isEmpty(srcInfo.getTags())57                 && !srcInfo.getTags().equalsIgnoreCase(dstInfo.getTags())){58             dstInfo.setTags(srcInfo.getTags());59             update = true;60         }61         62         //summary63         if(!StringUtils.isEmpty(srcInfo.getSummary())64                 && !srcInfo.getSummary().equalsIgnoreCase(dstInfo.getSummary())){65             dstInfo.setSummary(srcInfo.getSummary());66             update = true;67         }68         69         //catalog70         if(!StringUtils.isEmpty(srcInfo.getCatalog())71                 && !srcInfo.getCatalog().equalsIgnoreCase(dstInfo.getCatalog())){72             dstInfo.setCatalog(srcInfo.getCatalog());73             update = true;74         }75         76         return update;77     }

可以在这个基础上继续完善对豆瓣和当当的数据合并处理。

转载于:https://www.cnblogs.com/mazhiyong/p/9468494.html

你可能感兴趣的文章
java,for穷举,经典题目,百鸡百钱
查看>>
Solr4.7从文件创建索引
查看>>
6.9-LV/XML机器人数据存储
查看>>
Django ajax 发送post请求 前端报错解决
查看>>
About Me
查看>>
Android视频处理 --处理视频第一帧缩略图
查看>>
IOS中如何判断APP是否安装后首次运行或升级后首次运行
查看>>
关于反射
查看>>
全面解析构建私有云的两大核心架构组件
查看>>
在phpWeChat中如何定义一个授权登录(获取昵称)的链接
查看>>
python 符合条件跳过下一次循环
查看>>
mysql提示Column count doesn't match value count at row 1错误
查看>>
笑话,难道懂礼貌就必须说谎吗
查看>>
MySQL(二)
查看>>
第四章 –– 多态的概念
查看>>
C#中this的 四种 用法
查看>>
探究Windows RT的系统内存占用
查看>>
查域名对应的ip的命令:Nslookup
查看>>
JS offsetparent 问题
查看>>
ccpc 2016 省赛
查看>>