图书信息库完整解决方案(二)方案设计
面临的第一个问题是图书数据源从哪来,调研了一圈大概是以下几种方式:
1、当当或京东的官方图书api(查了一圈一无所获,收费或免费的都没找到)
2、豆瓣图书 https://developers.douban.com/wiki/?title=book_v2
豆瓣的主要问题一个是访问次数有限制,另一个是信息不全,部分图书或者新书在豆瓣无记录。
3、聚合 https://www.juhe.cn
聚合的接口整理的比较好,但一个是要收费,另一个是图书信息也不是最完整的。
综上所述,最后不得已考虑的方案是:
1、按照当当的分类爬取每个子分类下的所有图书数据。当当图书分类如下:
http://category.dangdang.com/?ref=www-0-C
实际上这里每个分类下最多能爬取到100页数据,应该是当当做了限制,但一般来说也够用了。
2、综合豆瓣数据
当当爬取到的信息与豆瓣做比对,综合豆瓣有用的信息然后入库。
3、由于当当和豆瓣的限制,即使完成了所有的数据抓取,仍有部分数据是缺失的。 这里的弥补办法是:
如果按照ISBN查询图书接口的时候失败, 则出发图书搜索接口,从当当的页面搜索这本图书,然后解析页面得到图书详细信息。
按照上述的技术方案,基本可以满足项目需求,并且确实做到了图书库的建立和不断完善。
接下来讲一下具体实现。