电影Top250数据分析可视化,应用Python爬虫,Flask框架,Echarts,WordCloud 您所在的位置:网站首页 ll和ller 电影Top250数据分析可视化,应用Python爬虫,Flask框架,Echarts,WordCloud

电影Top250数据分析可视化,应用Python爬虫,Flask框架,Echarts,WordCloud

2023-03-14 23:17| 来源: 网络整理| 查看: 265

目录

一:项目概述

二:模块实现

2.1 Python爬虫的技术实现

2.1.1 爬取网页,获取数据

2.1.2 解析内容

2.1.3 保存数据

2.2 数据可视化

2.2.1 Flask框架

2.2.2 首页和电影页(表格)

2.2.3 使用Echarts呈现电影评分分布图

2.2.4 jieba分词,WordCloud生成“词云”

一:项目概述

本项目运用 Python爬取电影Top250网页数据,使用BeautifulSoup和正则表达式进行解析,存于excel和sqlite数据库中。数据可视化应用Flask 框架,使用Echarts呈现电影评分分布图,使用jieba进行文本分析,WordCloud生成电影“词云”。

二:模块实现 2.1 Python爬虫的技术实现

技术概览:

1.爬取网页,获取数据:使用urllib2库获取指定url的数据。

2.解析内容:使用BeautifulSoup定位特定的标签位置;使用正则表达式找到具体的内容。

3.保存数据:使用xlwt将抽取的数据写入Excel表格中;使用sqlite3将数据写入数据库。

2.1.1 爬取网页,获取数据

使用urllib2库获取指定url的数据。

import urllib.request #得到指定一个URL的网页内容 def askURL(url) head = { #模拟浏览器头部信息,向豆瓣服务器发送消息 "User-Agent": "xxxx" } #用户代理:表示告诉电影网站服务器,我们是什么类型的机器、浏览器(本质上是告诉服务器,我们可以接收什么水平的文件内容) req = urllib.request.Request(url=url, headers=head) html = "" try: response = urllib.request.urlopen(req) html = response.read().decode("utf-8") print(html) except urllib.error.URlError as e: if hasattr(e,"code"): #hasattr(e,"code“): 判断e这个对象里面是否包含code这个属性 print(e.code) if hasattr(e, "reason"): print(e.reason) return html #爬取网页 def getData(baseurl): datalist = [] for i in range(0,10): #调用获取页面信息的函数,10次 url = baseurl + str(i*25) html = askURL(url) #保存获取到的网页源码 #2.逐一解析数据 return datalist

2.1.2 解析内容

使用BeautifulSoup定位特定的标签位置;使用正则表达式找到具体的内容。

#创建正则表达式对象,表示规则(字符串的模式) findLink = re.compile(r'') #只拿括号里的内容;括号里的?表示非贪婪模式,找到第一个>就停下 findImgSrc = re.compile(r'


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有