温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :)
本动漫分析系统开发语言为Python,并进行数据清洗,数据处理,并最后利用可视化技术进行动漫数据分析。本动漫分析系统的网站搭建采用B/S (Browser/Server)平台技术,使用HTML等实现网页展示,将数据格式化,并存储到json文件中,利用flask搭建后台系统,前端采用 bootstrap 和Echarts实现动漫数据的可视化展示和交互,并从多种因素分析影响动漫的评分情况。
【系统演示】基于大数据的动漫分析系统
本系统通过对动漫数据的清洗、分析等,实现动漫的可视化分析,主要功能包括以下方面:
针对某动漫影视网站,利用 request + beautifulsoup 编写原生网络爬虫,完成数据的采集和清洗,并存储到数据库或文件系统中:
- total_page = 200
- base_url = 'https://xxxxxxx.tv/anime/browser?sort=rank&page={}'
-
- for page in range(1, total_page):
- print('抓取第 {} 页的数据'.format(page))
- url = base_url.format(page)
- headers = {
- 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Accept-Encoding': 'gzip, deflate, compress',
- 'Accept-Language': 'en-us;q=0.5,en;q=0.3',
- 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
- 'Referer': url
- }
- response = requests.get(url, headers=headers)
- response.encoding = 'utf8'
- soup = BeautifulSoup(response.text, 'lxml')
-
- item_ul = soup.find(name='ul', attrs={'id': 'browserItemList'})
- items = item_ul.find_all(name='li')
-
- for item in items:
- try:
- ......
- # 话数,上映时间,导演等
- info = item.find('p', attrs={'class': 'info tip'}).text
- info = info.strip().replace(' ', '').split('/')
- # 话数
- hua_count = info[0][:-1]
- date = info[1]
- peoples = info[2:] if len(info) > 2 else []
- ......
- anime_info = {
- '封面': img,
- '名称': name,
- '类型': leixing,
- '排名': int(rank),
- '话数': int(hua_count),
- '放送时间': date,
- '导演': daoyan,
- '声优': cv_shengyou,
- '脚本': jiaoben,
- '评分': float(score),
- '评分人数': int(score_count)
- }
-
本动漫分析系统的网站搭建采用B/S (Browser/Server)平台技术,使用HTML等实现网页展示,将数据格式化,并存储到json文件中,利用flask搭建后台系统,前端采用 bootstrap 和Echarts实现动漫数据的可视化展示和交互,并从多种因素分析影响动漫的评分情况。
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。
技术交流认准下方 CSDN 官方提供的学长 QQ 名片 :)
精彩专栏推荐订阅: