如何用python完成评分功能呢_Python:豆瓣电影评分

一、功能需求:

作为一个经常看电影的人,需要对豆瓣电影资源进行分类,豆瓣上有一个交互不友好的地方,每个网页中存在的信息太多,没有办法一次性浏览完,而且部分相应的功能必须点击进入电影界面才能看到,因此个人的感觉增加了很多下工序,所以,我想用Python写一个小功能,直接把相关的电影输出在控制台中,通过看所查找的记录,进而选择电影。

二、功能实现:

①通过关键字搜索相关资源 ②选择记录的条数(页码实现)

③通过控制台将资源记录下来

三、豆瓣网页代码分析

一)网站分析

20160106084149968

正则表达式匹配:http://movie.douban.com/subject/[0-9.]+)\/"\s+title="(.+)

二)分数地址分析

20160106084157475

正则表达式匹配:([0-9.]+)<\/span>

三)评分地址分析

20160106084200827

正则表达式匹配:\((\w+)人评价\)<\/span>

四、代码实现:

import re

import time

import urllib.request

def Douban_MovieSearch(movieTag):

#打开相应地址

tagUrl=urllib.request.urlopen(url)

#解析网页编码

tagUrl_read = tagUrl.read().decode('utf-8')

#返回所读取的网页

return tagUrl_read

def subject(tagUrl_read):

#关键:正则表达式匹配电影的名字(链接)、评分与评论

searchURL = re.findall(r'(http://movie.douban.com/subject/[0-9.]+)\/"\s+title="(.+)"',tagUrl_read)

gradeURL = re.findall(r'([0-9.]+)<\/span>',tagUrl_read)

evaluateURL = re.findall(r'\((\w+)人评价\)<\/span>',tagUrl_read)

#关键:数据封装(zip的使用)

movieLists = list(zip(searchURL,gradeURL,evaluateURL))

resourceList.extend(movieLists)

#返回数据列表

return resourceList

#用quote处理特殊(中文)字符

movieType = urllib.request.quote(input('请输入电影类型(如剧情、喜剧、悬疑、爱情、动作、魔幻):'))

page_end=int(input('请输入查询页数(每页10条记录):'))

num_end=page_end*10

num=0

page_num=1

resourceList=[]

#while-else的使用方法

while num

url=r'http://movie.douban.com/tag/%s?start=%d'%(movieType,num)

movie_url = Douban_MovieSearch(url)

subject_url=subject(movie_url)

num=page_num*10

page_num+=1

else:

#使用sorted函数对列表进行排列

movieLIST = sorted(resourceList, key=lambda movieList : movieList[1],reverse = True)

for movie in movieLIST:

print(movie)

time.sleep(10)

print('查询结束')

五、运行结果

一)输入相关信息

20160106084508712

二)查看结果

20160106084541439

六、总结

这个小功能的实现让我对使用正则表达式有了更深厚的理解,也理解了为什么在定义名称时为什么需要将名称规范化化,一旦没有规范,是无法对信息进行检索的,另外,这个功能也让我看到Python的list列表和Zip()方法的强大之处,在理解的基础上,他就像是在Java的list进行了多一层封装,不仅大大简化了我们所遍历条件,还能够自动获取其中的值,这为我们对列表数据的查询提供了巨大的优化,另外,我百度得知,这种封装大大提高了遍历的性能,在百万条数据中,比原来list的遍历要减少20%甚至更多的时间,所以,要熟悉Python的优势和长处,是需要不断地去体验Python的机制,其中最好的一点就是查阅API,zip()方法的封装亦是通过API才找出来的。

这个功能只是实现了简单的信息检索,其实还有很多可以改进的地方,第一、可以加入排序的条件,我觉得这个很重,可以跳高交互的友好度;第二,格式不太美观,排列不太整齐,这是zip()封装的一个弊端,因为他没有办法对数据进行再处理就直接被遍历出来了,如果换做其他方法,性能会降低,所以这是一个取舍问题;三、写出excel文件,一开始是计划写出excel文件,但是对excel文件的操作不是很熟悉,所以最终放弃,选择在控制台进行遍历,如果能找到类似POI这种开源框架支持Python对Excel的操作,相信能对EXCEL的写入写出有莫大的帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python淘宝评价云图是指通过使用Python编程语言来获取并分析淘宝商品评价内容,进而生成词云图来展示评价中的关键词汇。下面将简要介绍一下这个过程。 首先,我们可以使用Python的爬虫技术来获取淘宝商品评价的数据。通过访问淘宝的评价页面,通过抓取该页面的HTML代码,我们可以得到商品评价的内容。可以使用第三方库,例如Beautiful Soup或Scrapy来进行数据的爬取和提取。 接下来,我们可以使用Python的自然语言处理库,例如NLTK(Natural Language Toolkit)或者中文分词库jieba,对评价的文本内容进行处理。首先需要进行分词,将文本拆分为单个词语或短语的序列,然后可以对这些分词结果进行去除停用词、词性标注和关键词提取等操作。 然后,通过对评价内容进行词频统计,计算每个词语在评价中出现的频率。可以使用Python的Counter库来实现这个功能。然后,可以根据词频的大小对词语进行排序,找出出现频率较高的关键词。 最后,使用Python的词云库,例如Wordcloud,将得到的关键词绘制成云图。词云图的大小可以根据词频进行调整,词频越高的词语在云图中显示的越大。可以设置字体、颜色、背景等样式来美化云图的展示效果。 通过以上的步骤,我们就可以通过Python来实现淘宝评价云图的生成。这个云图可以帮助我们更直观地了解评价中的关键词汇,帮助商家或分析师进行产品分析、市场研究等工作。 ### 回答2: 淘宝评价云图是指通过对淘宝商品评价内容进行分析和处理,将评价文本中常出现的词汇进行统计和展示,以形成一个直观的图形化呈现的工具。 Python是一种强大的编程语言,其具备丰富的文本处理和数据分析的功能,可以轻松实现淘宝评价云图的生成过程。以下是一个可能的实现过程: 1. 数据收集:使用Python的网络爬虫技术,从淘宝网站上抓取商品评价的数据。可以使用第三方库如Scrapy或BeautifulSoup来实现网页内容的爬取。 2. 数据清洗和处理:使用Python的字符串处理和正则表达式来清洗和处理原始数据。去除无意义或重复的评价内容,提取有效信息。 3. 分词:使用Python中的分词工具(如jieba分词库)对评价内容进行分词处理,将文本按照字、词或短语进行拆分。 4. 词频统计:使用Python的字典或其他数据结构保存分词结果,并对分词进行统计和计数,以得出每个词出现的频次。 5. 生成云图:使用Python中的数据可视化库如WordCloud,将词频统计结果转化为可视化的云图。可以设置字体、颜色、形状等参数,以呈现出各个词在评价中的重要程度。 6. 展示和分析:将生成的云图展示在各个平台上,如网页、移动端应用等,以供用户查看。用户可以通过观察云图中的关键词汇,了解评价中消费者的关注点和倾向,对商品进行评价和决策。 通过以上步骤,便可以使用Python实现淘宝评价云图的生成,帮助用户更直观地了解商品评价情况,为购物提供参考依据。 ### 回答3: Python 淘宝评价云图是一种使用Python编程语言来生成淘宝评价数据的可视化云图的方法。 首先,我们需要获取淘宝评价数据。可以使用Python的网络爬虫库(例如Requests、Selenium等)来模拟浏览器行为,并从淘宝网站上爬取评价数据。使用Python的数据处理库(例如Pandas)可以对爬取到的数据进行清洗和整理。 接下来,我们需要对评价数据进行分析和处理。可以使用Python的自然语言处理库(例如NLTK、Jieba等)来对评价内容进行分词、去除停用词和统计词频。可以根据评价的内容和评分来构建评价的情感分析模型,判断评价是正面还是负面。 然后,我们可以使用Python的词云库(例如WordCloud)来生成评价云图。可以根据评价内容的词频和情感进行词云图的生成。可以调整词云图的形状、字体和颜色等参数,以及进行去除一些无意义的常见词汇。 最后,我们可以使用Python的可视化库(例如Matplotlib、Seaborn等)将评价云图进行展示。可以生成热力图、饼图或者柱状图等不同类型的可视化图表,以便更好地呈现评价数据的分布和趋势。 总的来说,通过Python编程语言的强大功能和丰富的工具库,我们可以方便地获取、分析和可视化淘宝评价数据,从而更好地了解用户对于产品的评价和反馈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值