Python数据分析之贴吧的问与答

本文介绍了一种使用Scrapy爬取贴吧中关于Python问题的精品回答的方法,并将数据存入MongoDB。利用Pandas进行数据读取与处理,实现问与答的文字云展示。详细步骤包括数据库连接、数据读取、分词处理及词云生成。

爬取了贴吧中python问题的精品回答,是使用scrapy写了一个程序,爬取了一点信息,存入MongoDB数据库中,代码就不上了,今天主要是通过pandas库读取数据,做问与答的文字云。

读取数据库

pandas库读取文件很方便,基本的文件都是能够用读取的,主要是运用dataframe(类似于excel表格),首先导入需要的模块;

  1. import pandas as pd

  2. import pymongo

  3. import jieba.analyse

然后连接数据库,读取数据;

  1. client = pymongo.MongoClient('localhost',port = 27017)

  2. test = client['test']

  3. tieba = test['tieba']

  4. data = pd.DataFrame(list(tieba.find()))

  5. data

640?wx_fmt=png

获取question列

我们知道分词需要的是字符串格式的数据,所以需要通过dataframe的切片提取question这列的数据,并转化为字符串格式。

  1. question_data = ''  #初始化字符串

  2. for i in range(563):   #数字为数据的行数

  3.    index = data.ix[i,:]   #取每行

  4.    question = index['question']  #取每行的question

  5.    question_data = question_data + question

  6. print(question_data)

640?wx_fmt=png

分词

这部分以前讲过,贴上代码。

  1. jieba.analyse.set_stop_words('停用词表路径')

  2. tags = jieba.analyse.extract_tags(question_data, topK=50, withWeight=True)

  3. for item in tags:

  4.    print(item[0]+'\t'+str(int(item[1]*1000)))

640?wx_fmt=png

词云

类似,也可以做出回答的词云。 问:640?wx_fmt=png答:640?wx_fmt=png


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值