3-2homework

結(jié)果


結(jié)果統(tǒng)計1.png
結(jié)果統(tǒng)計2.png

代碼



# coding: utf-8


import pymongo
import charts

client = pymongo.MongoClient('localhost', 27017)
ganji = client['ganji']
item_info = ganji['item_info']

for i in item_info.find().limit(300):
    # print(i['cate'][0])
    pass

cates = []
for i in item_info.find():
    cates.append(i['cate'][0])
cates_sets = list(set(cates))
# print(cates_sets)


post_times = []
for index in cates_sets:
    post_times.append(cates.count(index))
# print(post_times)

def data_gen(type):
    for cate, times in zip(cates_sets, post_times):
        data = {
            'name': cate,
            'data':[times],
            'type':type
        }
        yield data

series = [data for data in data_gen('column')]
charts.plot(series, show='inline', options=dict(title=dict(text='各分類發(fā)帖量對比匯總')))

總結(jié)

1. 思路

由于原始代碼的爬取邏輯問題滚粟,爬取到cates并不是大分類中的cates。

cates.png

所以只能根據(jù)item_info中的cates鹏漆,取出第一個元素(主分類)嫁盲,來大致看出分類發(fā)帖量情況。

2. set 沪蓬、count 進階用法

cates_sets = list(set(cates)) // 重復數(shù)組 變成 無重復數(shù)組
// 查看各cate在重復數(shù)組中的重復次數(shù)

for index in cates_sets:
    print( cates.count(index) )

3. yield

先看一個簡單的例子:

def count(n): 
    print ("cunting" )
    while n > 0: 
        # print ('before yield') 
        yield n   #生成值:n 
        n -= 1 
        # print ('after yield' )

for x in count(5):
    print(x)

這算是py語言中, 比較詭異的一種.
for in 中可以 直接取 count(5)中的值, 說明函數(shù)返回值是一個list, 否則無法取值.
其實可以先想想在oc中是如何實現(xiàn)的, 肯定是在定義count函數(shù)最后, return一個數(shù)組.
但是py中追求極簡的語法表達方式, 使用 yield 語法會生成一個迭代對象, 可以理解為就是存到了一個list中,
并且循環(huán)會接著往下進行.

// 本例中的使用
def data_gen(type):
    for cate, times in zip(cates_sets, post_times):
        data = {
            'name': cate,
            'data':[times],
            'type':type
        }
        yield data

// 這里的意思就是彤钟,調(diào)用這個函數(shù)后,會return一個含有多個格式化好的data數(shù)組
// 所以下面才可以這樣調(diào)用:

series = [data for data in data_gen('column')]

4. 結(jié)果數(shù)據(jù)分析

  • 數(shù)據(jù)分析表
分類 帖子數(shù)量
QQ號碼 2878
筆記本電腦 1485
手表 1709
電腦包 955
家畜/家禽 1262
鋼琴 1184
虛擬物品 1099
農(nóng)用機械 1074
家具轉(zhuǎn)讓 1550
手機 1881
苗木 1644

有了大數(shù)據(jù)作支撐跷叉,二手賣家該賣什么就知道了吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逸雹,一起剝皮案震驚了整個濱河市营搅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梆砸,老刑警劉巖剧防,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辫樱,居然都是意外死亡峭拘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門狮暑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸡挠,“玉大人,你說我怎么就攤上這事搬男〖鹫梗” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵缔逛,是天一觀的道長备埃。 經(jīng)常有香客問我,道長褐奴,這世上最難降的妖魔是什么按脚? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮敦冬,結(jié)果婚禮上辅搬,老公的妹妹穿的比我還像新娘。我一直安慰自己脖旱,他們只是感情好堪遂,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著萌庆,像睡著了一般溶褪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上践险,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天猿妈,我揣著相機與錄音,去河邊找鬼捏境。 笑死于游,一個胖子當著我的面吹牛毁葱,可吹牛的內(nèi)容都是我干的垫言。 我是一名探鬼主播倾剿,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼担忧!你這毒婦竟也來了坯癣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤惩猫,失蹤者是張志新(化名)和其女友劉穎轧房,沒想到半個月后绍绘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陪拘,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡左刽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年悠反,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斋否。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疫诽,靈堂內(nèi)的尸體忽然破棺而出旦委,到底是詐尸還是另有隱情,我是刑警寧澤缨硝,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布查辩,位于F島的核電站胖笛,受9級特大地震影響长踊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辟汰,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一莉擒、第九天 我趴在偏房一處隱蔽的房頂上張望涨冀。 院中可真熱鬧麦萤,春花似錦、人聲如沸翅帜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诈唬,卻和暖如春韩脏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铸磅。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阅仔,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓八酒,卻偏偏與公主長得像空民,于是被迫代替她去往敵國和親丘跌。 傳聞我的和親對象是個殘疾皇子袭景,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容