***Python可视化实验
看一部精彩的经典电影,就像看一本经典的书一样。我们可以在书中成长,也可以在一部影片中成长,体验生活,感悟人生,增长智慧。我们可以在一部电影中成长,通过一部影片思考生活,感悟人生,并从中得到启发且受益。下面我将使用Python将豆瓣TOP250的电影分析一下并推荐给大家。希望你们会喜欢,并能在这些电影获得人生的哲理和生活的感悟。
数据抓取
豆瓣电影在拥有最大影迷社区以及电影数据库的基础上,豆瓣电影根据移动场景的需求,解决了用户去哪看电影、该看哪部电影的问题。让用户查资料、查评分、查影讯、给电影评分的行为真正做到了随时随地。 ------BiaNews
在谷歌浏览器中可以右键并点击检查就可以看到网页源代码
利用下面代码即可获取电影名,电影评分,评价人数,电影类型
import urllib.request
import re
from bs4 import BeautifulSoup
from distutils.filelist import findall
import pandas as pd
mylist = []
def get_text(url):
page = urllib.request.urlopen(url)
contents = page.read()
soup = BeautifulSoup(contents, "html.parser")
try:
for tag in soup.find_all('div', class_='info'):
# print tag
m_name = tag.find('span', class_='title').get_text()
m_rating_score = float(tag.find('span', class_='rating_num').get_text())
m_people = tag.find('div', class_="star")
m_span = m_people.findAll('span')
m_peoplecount = m_span[3].get_text()[:-3]
m_type = tag.find('p',class_="").get_text()[-27:-25]
mylist.append((m_name, str(m_rating_score), m_peoplecount,str(m_type)))
return mylist
except:
return None
for i in range(0, 250, 25) :
url = 'https://movie.douban.com/top250?start=' + str(i) + '&filter='
df = pd.DataFrame(get_text(url))
df
#运行结果
如果想要将这个表格存为.csv文件加上下面这句代码即可
df.to_csv('H:\\output.csv', encoding='gbk', index=False)
数据分析
上图为TOP250电影的评分统计雷达图,从雷