日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

豆瓣图书 数据分析

發(fā)布時(shí)間:2024/8/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 豆瓣图书 数据分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? 前幾天上網(wǎng),無(wú)意中看到有人抓取了知乎的數(shù)據(jù)用戶信息做數(shù)據(jù)分析,其實(shí)知乎爬蟲(chóng)的數(shù)據(jù)分析,我早就看到過(guò),不過(guò)這次自己也想分析一下數(shù)據(jù),零零總總寫了許多次爬蟲(chóng)了,都是把數(shù)據(jù)抓下來(lái)放進(jìn)數(shù)據(jù)庫(kù)里,有的就是初步清洗了一下,有的干脆抓下來(lái),往數(shù)據(jù)庫(kù)里面一扔,就拋下不管。

? ? ? 以前在做爬蟲(chóng)時(shí),都把抓取放在第一位,后來(lái)我覺(jué)得抓取只是爬蟲(chóng)的第一步(當(dāng)然,抓取的程序設(shè)計(jì)好,會(huì)節(jié)約很多時(shí)間),爬蟲(chóng)抓的數(shù)據(jù),如果后期不做分析和處理的話,都只能算是“垃圾”,沒(méi)有任何意義,后面的處理,才能將數(shù)據(jù)變廢為寶,當(dāng)然,也有一種情況是邊抓取邊處理,不過(guò)一般不建議這樣設(shè)計(jì)一個(gè)爬蟲(chóng)程序,不但不利于調(diào)度與管理,還會(huì)導(dǎo)致程序復(fù)雜度增大。

? ? ? 這次抓取的是豆瓣所有熱門標(biāo)簽下的圖書數(shù)據(jù),網(wǎng)絡(luò)上有很多電影方面的分析,所以我換了一個(gè)方向,第一次做分析,屬于菜鳥(niǎo)類,也很初步,各位看看就好,覺(jué)得有幫助那就更好~

????我不太習(xí)慣使用框架(主要是短時(shí)間看不懂),所以程序除使用jsoup解析網(wǎng)頁(yè)和dom4j加載一下xml文件之外,都是用java原生庫(kù)實(shí)現(xiàn)。對(duì)了,后面圖表的前端顯示也沒(méi)有用軟件,是用java+第三方包jfreechart繪制的~

?完整花在上面的時(shí)間應(yīng)該在4~5天,中間還忙活了其他的事情。

先是將豆瓣讀書上,所有熱門的圖書標(biāo)簽拖下來(lái),每一個(gè)大分類下,跟著一系列標(biāo)簽,如下:

?

??總共有145個(gè)。

?然后,就是把所有標(biāo)簽下的圖書鏈接抓下來(lái),我以為的圖書數(shù)量就是標(biāo)簽下的數(shù)字,每個(gè)標(biāo)簽下都有起碼5W+的圖書信息,其實(shí)標(biāo)簽為作者(東野圭吾、韓寒等),圖書一般都沒(méi)有達(dá)到1k以上;還有像小說(shuō)這種一聽(tīng)就知道有很多書的標(biāo)簽,豆瓣都是只給你1k的數(shù)據(jù)封頂,只能抓取50頁(yè)。其實(shí)這個(gè)很好理解,一個(gè)原因是它防著爬蟲(chóng)之類的機(jī)器人,還有一個(gè)就是根據(jù)用戶關(guān)注的熱度來(lái)推送的,50頁(yè)之后,很少有用戶會(huì)感興趣往下翻,其實(shí)所有網(wǎng)絡(luò)上,帶有翻頁(yè)模式的頁(yè)面,都不會(huì)超過(guò)100頁(yè),google、百度等,超過(guò)了都不顯示了,因?yàn)橹蠖际呛苈牟樵?#xff08;我不是指瀑布模式啊~)

整個(gè)抓取的過(guò)程,遇到了一些阻礙~不過(guò)最后還是將數(shù)據(jù)拿下來(lái),匯成一張大表,多次校準(zhǔn)后,數(shù)據(jù)具有較高的完整性。詳情請(qǐng)看:

?

字段較多,不太清晰。

??所有熱門標(biāo)簽下的圖書信息我都拿了下來(lái),每個(gè)標(biāo)簽下面都過(guò)濾了重復(fù)的鏈接(不保證每個(gè)大分類下的重復(fù)鏈接,如東野圭吾的《白夜行》,既屬于懸疑類,又屬于推理類),最后的獲取到的圖書數(shù)量為:

?

去掉所有大分類下重復(fù)鏈接后:

?

這應(yīng)該是所有不重復(fù)的圖書數(shù)量了,在豆瓣允許的范圍內(nèi),這個(gè)數(shù)據(jù)還是比較完整的。

下面是一些分析(比較初步):

1:這:是不重復(fù)的圖書數(shù)量每個(gè)大分類占比:

?

這是所有不重復(fù)的圖書數(shù)量每個(gè)大分類占比,可以看到文化類占比最多。這是不去重的,其實(shí)大致沒(méi)有差別,

?

2:下面3張圖,是截止到我抓取為止的數(shù)據(jù),熱門的圖書評(píng)論數(shù)量實(shí)時(shí)都在增長(zhǎng),分別是:

①:評(píng)分>=8.0且評(píng)論人數(shù)10w+以上的圖書(16本);②:僅僅評(píng)論人數(shù)超過(guò)10w+的圖書(18本);③:根據(jù)圖書評(píng)論數(shù)量排名的TOP20;

?

?

比較后,發(fā)現(xiàn),一些值得我們一讀再讀的名著,始終都在名單里面,名單里面也大部分是開(kāi)卷即有益的好書。降低標(biāo)準(zhǔn)后,某些牛鬼蛇神涌出,同時(shí)某些有益書籍(《平凡的世界》之類)涌現(xiàn)。

由此可得出,數(shù)據(jù)分析算法應(yīng)該是綜合多種數(shù)據(jù)后得到的權(quán)重模型(這是我從某位豆瓣電影數(shù)據(jù)分析的一位仁兄那看來(lái)的一句話(當(dāng)然我也是這么認(rèn)為的),這樣形容比較貼切,我稍做潤(rùn)色,還是謝謝那位仁兄),所以不一定評(píng)論人數(shù)多或者評(píng)分高的書籍值得去閱讀,綜合考慮得出的結(jié)果才可算作公平。典例請(qǐng)參考郭敬明的《夢(mèng)里花落知多少》和路遙的《平凡的世界》。

3:這是評(píng)論人數(shù)5w+以上的圖書分布情況:

?

? 從分布情況來(lái)看,圖書評(píng)論人數(shù)5w+以上,評(píng)分大部分集中在7.5~9.0之間,但是也有例外,有2本是低于7.0分的,沒(méi)錯(cuò),還是郭敬明的~(《悲傷逆流成河》6.2分和他的《小時(shí)代》6.7分),大家的品味還是有的。在這里面,只有國(guó)學(xué)名著《紅樓夢(mèng)》達(dá)到了9.5的高分,經(jīng)典總是不容辜負(fù)。評(píng)論人數(shù)最多,且分?jǐn)?shù)也達(dá)到了8.8高分,想必大家都知道,是《追風(fēng)箏的人》~

4:這里還有一些圖書短評(píng)數(shù)量等的排名TOP20:

其實(shí)大部分書籍也出現(xiàn)在前面的名單中,畢竟都是排名評(píng)分較高的,但是也無(wú)法準(zhǔn)確的反應(yīng)有效信息,因?yàn)槲传@取短評(píng)具體內(nèi)容,各位看看就好~

其實(shí)還可以像豆瓣上的統(tǒng)計(jì)那樣,評(píng)出TOP250什么的,只不過(guò)再弄就沒(méi)有多大意義了,上面的幾個(gè)分析已經(jīng)有了初步判斷,況且數(shù)據(jù)都有,只是換一下數(shù)據(jù)庫(kù)的查詢和篩選而已。我的數(shù)據(jù)量不大,字段數(shù)量也一般,數(shù)據(jù)庫(kù)的查詢篩選都比較快,需要思考的在于SQL語(yǔ)句的書寫。

閑話一下感想:

? ? ? 想起前段時(shí)間學(xué)校實(shí)驗(yàn)室的老師跟我說(shuō),所謂的數(shù)據(jù)挖掘和流行的大數(shù)據(jù)分析,到最后,就是一個(gè)數(shù)據(jù)庫(kù)而已,之前一知半解,知其然而不知其所以然,現(xiàn)在才覺(jué)得摸到點(diǎn)門道了。

? ? ? 代碼的話,沒(méi)什么難度,爬蟲(chóng)的基本思路,接觸過(guò)的人應(yīng)該都了解,我中間花在抓取上的時(shí)間較多,主要是想在了解了對(duì)方的反爬策略后,找出一個(gè)最好的抓取策略,快速而全面的獲取數(shù)據(jù)。

? 現(xiàn)在流行的一個(gè)思想就是分布式,但是我覺(jué)得爬蟲(chóng)的設(shè)計(jì)應(yīng)該視情況而定吧,不同數(shù)據(jù)的抓取有不同的抓取策略,分布式在大型數(shù)據(jù)的拖曳與分析中,優(yōu)勢(shì)很大。我之前做過(guò)全國(guó)google地圖的拖曳下載,寫過(guò)一個(gè)分布式的爬蟲(chóng),后面會(huì)再總結(jié)分析。于我個(gè)人的理解來(lái)說(shuō),分布式爬蟲(chóng)的設(shè)計(jì)主要在于二個(gè)問(wèn)題:控制與調(diào)度??刂萍炊啻螠y(cè)試后,找出最適合的抓取策略,在數(shù)據(jù)抓取的來(lái)源網(wǎng)站限制下,控制爬蟲(chóng)最大程度的獲取更多數(shù)據(jù);調(diào)度即在各種意外情況(斷網(wǎng)、斷電等),服務(wù)器對(duì)不同爬蟲(chóng)客戶端任務(wù)的處理。

豆瓣圖書的分析到此為止(也挺簡(jiǎn)單的,主要是我覺(jué)得沒(méi)啥好分析的了),后面繼續(xù),對(duì)豆瓣的用戶數(shù)據(jù)分析(時(shí)間允許的話),有興趣可以跟進(jìn)了解一下~

如果對(duì)代碼感興趣的話,有時(shí)間我會(huì)貼出來(lái)。

?代碼傳送門:https://github.com/metaotao/doubanbook

總結(jié)

以上是生活随笔為你收集整理的豆瓣图书 数据分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。