设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 756|回复: 1

[python] 用 Python 做有趣的数据分析项目

[复制链接]

277

主题

3225

金钱

6773

积分

高级用户

发表于 2016-9-29 10:03:09 | 显示全部楼层 |阅读模式


对《还珠格格》进行词频统计






对《还珠格格》的词频统计生成词云标签


将《2016年中国政府工作报告》变成词云是这样的



然后是《小时代》





以小燕子照片为词云背景


对《射雕英雄传》进行词频统计并以郭靖剧照作为词云背景


有没有满满的即视感?









一个Web端的电影数据库交互






可以了解整个香港电影史,从早期合拍上海片,到胡金栓的武侠片,到李小龙时代,然后是成龙,接着周星驰



对职责要求的词频分析,提炼出必需技能




用爬虫爬下上万知乎女神照片




对于关注我的童鞋,谢谢你,代码拿去

词频统计和词云的代码
from wordcloud import WordCloudimport jiebaimport PILimport matplotlib.pyplot as pltimport numpy as npdef wordcloudplot(txt):
    path='d:/jieba/msyh.ttf'
    path=unicode(path, 'utf8').encode('gb18030')
    alice_mask = np.array(PIL.Image.open('d:/jieba/she.jpg'))
    wordcloud = WordCloud(font_path=path,
                          background_color="white",   
                          margin=5, width=1800, height=800,mask=alice_mask,max_words=2000,max_font_size=60,random_state=42)
    wordcloud = wordcloud.generate(txt)
    wordcloud.to_file('d:/jieba/she2.jpg')
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()
    def main():
    a=[]
    f=open(r'd:\jieba\book\she.txt','r').read()
    words=list(jieba.cut(f))
    for word in words:
        if len(word)>1:
            a.append(word)
    txt=r' '.join(a)
    wordcloudplot(txt)
    if __name__=='__main__':
    main()


爬知乎女神的代码

import requestsimport urllibimport reimport randomfrom time import sleepdef main():
    url='xxx'
    headers={xxx}
    i=925
    for x in xrange(1020,2000,20):
        data={'start':'1000',
    'offset':str(x),
    '_xsrf':'a128464ef225a69348cef94c38f4e428'}
        content=requests.post(url,headers=headers,data=data,timeout=10).text
        imgs=re.findall('<img src=\\\\\"(.*?)_m.jpg',content)   
        for img in imgs:
            try:
                img=img.replace('\\','')
                pic=img+'.jpg'
                path='d:\\bs4\\zhihu\\jpg4\\'+str(i)+'.jpg'
                urllib.urlretrieve(pic,path)
                print ('下载了第'+str(i)+u'张图片')
                i+=1
                sleep(random.uniform(0.5,1))
            except:
                print ('抓漏1张')
                pass
        sleep(random.uniform(0.5,1))
        if __name__=='__main__':
    main()     


作者:挖数
链接:http://www.zhihu.com/question/28975391/answer/100796070
来源:知乎



265

主题

6994

金钱

1万

积分

资深用户

发表于 2017-1-10 14:34:05 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表