为什么需要加星标?
前言
数据爬取
第一页:
https://movie.douban.com/subject/26413293/comments?status=P
第二页:
https://movie.douban.com/subject/26413293/comments?start=20&limit=20&status=P&sort=new_score
第三页:
https://movie.douban.com/subject/26413293/comments?start=40&limit=20&status=P&sort=new_score
headers = {
"Accept":"application/json, text/plain, */*",
"Accept-Language":"zh-CN,zh;q=0.9",
"Connection":"keep-alive",
"Host":"movie.douban.com",
"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
"Cookie":'这里是你自己的cookie'
}
数据处理
df = pd.read_csv("final_all_comment.csv",index_col=0)
df.head(10)
print("删除之前的记录数:",df.shape)
df.drop_duplicates(subset=['评论时间','评论内容'],inplace=True,keep='first')
print("删除之前的记录数:",df.shape)
df["评论天数"] = df["评论时间"].str[8:-9].astype(int)
df["小时"] = df["评论时间"].str[11:-6].astype(int)
def func(st):
for i in range(1,int(len(st)/2)+1):
for j in range(len(st)):
if st[j:j+i] == st[j+i:j+2*i]:
k = j + i
while st[k:k+i] == st[k+i:k+2*i] and k<len(st):
k = k + i
st = st[:j] + st[k:]
return st
st = "我爱你我爱你我爱你好你好你好哈哈哈哈哈"
func(st)
def func(st):
for i in range(1,int(len(st)/2)+1):
for j in range(len(st)):
if st[j:j+i] == st[j+i:j+2*i]:
k = j + i
while st[k:k+i] == st[k+i:k+2*i] and k<len(st):
k = k + i
st = st[:j] + st[k:]
return st
df["评论内容"] = df["评论内容"].apply(func)
数据可视化操作
-
评论数随时间的变化趋势 -
二十四小时内的评论数的变化趋势 -
星级评分的饼图 -
大家主要都在评论一些啥
送书福利
介绍一本📕:《Python高手修炼之道》
本书系统介绍了如何入门Python并利用Python进行数据处理与机器学习实战。本书从Python的基础安装始介绍,系统梳理了Python的门语法知识,归纳介绍了图像处理、数据文件读写、数据库操作等Python基本技能;然后详细讲解了NumPy、Matplotlib、Pandas、Scipy、Scikit-learn等在数据处理、机器学习领域的应用。代码实例涵盖网络爬虫、数据处理、视觉识别、机器学习等应用领域。作者还精心创作了语感训练100题、Python内置函数(类)手册、从新手到高手的100个模块等内容,以帮助读者更好地学习并掌握Python这一工具。
感谢人民邮电出版社的支持!
赠书方式
开奖时间:12月21日 20:00,赠书2本,长按菊花码,参与活动。
公众号留言功能,正在更新调整,暂时用不了留言功能了,大家只能先抽奖参与啦。
本文分享自微信公众号 - 数据分析与统计学之美(gh_21c25c7e71d0)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4579597/blog/4819534