前情提要
昨天校套,我使用 結巴分詞
跟 詞云
兩個 python 庫价脾,達到了 提取讀書記錄頻率
及 按照詞頻高低顯示不同大小到圖片上
的效果〉殉祝可是侨把,由于分詞的效果不佳,呈現的效果并不能很好地顯示我所看書的類型妹孙。最后我聯想到秋柄,利用豆瓣的圖書標簽來做圖書分類〈勒可是骇笔,豆瓣并沒有提供 根據書名直接搜索書
的接口。今天的這篇文章,就著手解決這個問題笨触。
如何根據書名唯一確定一本書懦傍?
在上一篇文章中,我們說到芦劣,豆瓣沒有提供根據書名唯一確定一本書的 API粗俱,只提供了根據 ISBN 唯一確定一本書的 API。于是虚吟,一個很直觀的念頭就是寸认,我如何根據書名拿到一本書的 ISBN 號碼,繼而通過這個 ISBN 號碼搜索書串慰。
從這個思路出發(fā)偏塞,我先是百度 通過書名獲取 isbn
,沒看到什么有用的回答模庐;于是谷歌 get isbn by book name
找到 stackoverflow 上的這個回答
感覺問題都快要被解決的時候烛愧,卻發(fā)現我沒有權限下載這個庫 -_-||……
那么該怎么辦呢油宜?申請權限還是重新找一個庫掂碱,抑或是找非官方渠道下載。
回到問題本身呢
想想慎冤,感覺這是個比較麻煩的事情疼燥,搞不好能弄很久,最后就算把庫下載下來也不一定解決得了問題蚁堤。
我的目的醉者,在于獲取一本書上的豆瓣標簽,而獲取這本書的 ISBN 只是手段披诗。既然這個手段不是很好用撬即,我就不應該為這個 附屬復雜性 花費過多的時間。
有別的方法可以根據書名獲取它的豆瓣標簽嗎呈队?
我被自己騙了剥槐?
平常我們在豆瓣上找書的時候,是可以通過書名找到一本書的宪摧,那就證明粒竖,豆瓣是有類似的手段的,為什么 API 文檔上卻沒有呢几于?難道是我沒有仔細看文檔蕊苗,漏掉了什么?重新看了一遍豆瓣的 圖書 API沿彭,確認了朽砰,確實沒有我要的 API。
探索 - 規(guī)律
抱著好奇與疑惑,我拿著讀書記錄的書名手動到豆瓣讀書的網頁上去搜索瞧柔,發(fā)現熔掺,我輸入的幾本書都能找到。只不過不是唯一確定非剃,同時被搜索出來的還有好多其他書名類似的書置逻。
嘗試了幾遍之后,我發(fā)現了一個規(guī)律 —— 我搜索的書總是在搜索結果列標中排第一位备绽。這個結果非常合理券坞,因為我搜索的書名是精確的,而豆瓣上剛好有這本書肺素,所以在搜索結果中它就是排第一位的恨锚。那也就是說,其實我還是可以書名唯一確定一本書的倍靡。
驗證
為了驗證這個想法猴伶,我搜索了另外幾個書名,得到的結果都是一致的塌西。
只拿我需要的
所以說,我其實可以拿著書名搜索捡需,將豆瓣返回的搜索結果做個截取办桨,只取結果集的第一個元素就可以了。