思路:用requests库获取对应页面的源码,用beautifulSoup库筛选出想要的信息,再用matplotlib库实现数据可视化。
下面直接呈现源码:

import requests
from bs4 import BeautifulSoup
from matplotlib import pyplot as plt
from matplotlib import font_managerallUniv = []
x = []
y = []#获取指定网址的页面源码
def getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""#筛选出网页中《td》标签中的信息,并存放到列表allUniv中
def fillUnivList(soup):data = soup.find_all('tr')#data类型是bs4.element.ResultSetfor tr in data:# print(tr)ltd = tr.find_all('td')#类型是bs4.element.ResultSetif len(ltd)==0:continuesingleUniv = []for td in ltd:# print(td.string)singleUniv.append(td.string)allUniv.append(singleUniv)#控制台打印结果
def printUnivList(num):print("{:<6}{:<30}{:<40}{:<8}".format("年度排名","历史排名","电影名称","上映年份"))for i in range(num):u=allUniv[i]print("{:<6}{:<30}{:<40}{:<8}".format(u[0],u[1],u[2],u[6]))#将电影名称,历史排名放到x,y列表
def fix(num):for i in range(num):u = allUniv[i]x.append(u[2])y.append(u[1])#将数据可视化
def draw():my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/MSYH.ttc")#设置图片大小plt.figure(figsize=(20, 15), dpi=80)#画柱状图plt.bar(range(len(x)),y,width=0.3)# plt.barh(range(len(x)), y, height=0.3)#设置x轴刻度和字样plt.xticks(range(len(x)),x,fontproperties=my_font,rotation=70)# 添加描述信息plt.xlabel("电影名称", fontproperties=my_font)plt.ylabel("历史排名", fontproperties=my_font)plt.title("2020最火的电影排行", fontproperties=my_font)# 绘制网格plt.grid(alpha=0.3)  # 里面的第一个参数设置透明度#展示plt.show()#调用上面的所有方法,实现爬取,显示
def main():url = 'http://58921.com/alltime/2020'html = getHTMLText(url)soup = BeautifulSoup(html, "html.parser")fillUnivList(soup)printUnivList(20)fix(20)draw()if __name__ == '__main__':main()

运行的效果如下:

PY爬取2020年电影票房排行相关推荐

  1. 如何利用 C# 爬取「猫眼电影专业版:票房」数据!

    在现代生活中,看电影已经成为大家的一种休闲方式. 前几天,我们介绍了 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!,通过这份"热映口碑"榜单,我们可以看到大家对当前 ...

  2. 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!

    以前我写过一些爬取猫眼电影数据的图文: 如何利用 C# 爬取「猫眼电影专业版:票房」数据? 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息? 如何利用 C# 爬取「猫眼电影:最受期待榜」及 ...

  3. JAVA模拟电影票房,Neo4j入门之中国电影票房排行浅析

    什么是Neo4j? Neo4j是一个高性能的NoSQL图形数据库(Graph Database),它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化 ...

  4. Neo4j入门之中国电影票房排行浅析

    什么是Neo4j?   Neo4j是一个高性能的NoSQL图形数据库(Graph Database),它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持 ...

  5. python学习之爬取ts流电影

    爬取ts流电影文件记录 需求 程序结构目录 编写代码 基本思路 代码编写 优化 需求 **前言**最近学习Python,语法规则.变量等也看完了,但是觉得啥也没记住,打开py不知道写啥,只能print ...

  6. Crawler:基于BeautifulSoup库+requests库实现爬取2018最新电影《后来的我们》热门短评

    Crawler:基于BeautifulSoup库+requests库实现爬取2018最新电影<后来的我们>热门短评 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: ...

  7. scrapy爬取豆瓣top250电影数据

    scrapy爬取豆瓣top250电影数据 scrapy框架 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. sc ...

  8. 爬虫实战(一)利用scrapy爬取豆瓣华语电影

    爬虫第一个项目是爬取豆瓣华语电影,后面将对这部分数据进行分析. 本文也是发表于『运筹OR帷幄』微信公众号的<用数据带你了解电影行业-华语篇>的爬虫介绍篇. 1. 爬取思路 在观察了豆瓣每个 ...

  9. 携程酒店数据爬取2020.5

    携程酒店数据爬取2020.5 1. 开题 目前网上有好多爬取携程网站的教程,大多数通过xpath,beautifulsoup,正则来解析网页的源代码.然后我这个菜b贪方便,直接copy源码的xpath ...

最新文章

  1. 网页转变成app,隐藏浏览器地址栏
  2. Where is ABAP Netweaver HTTP 304 not modified set
  3. 【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
  4. Java9 jar兼容_java9新特性-6-多版本兼容jar包
  5. CCF201503-5 最小花费(30分)
  6. 因为M.2 SSD,不得不装了WINDOWS10
  7. Matlab:实现菲涅尔直边衍射仿真
  8. 企业微信每日定时自动上报
  9. 这几款高格调的app,让你的人生妖艳起来!
  10. 用RelativeLayout实现左中右三部分显示
  11. 国内首台商用人形双足机器人发展史
  12. win10服务器cpu占用过高,完美解决:Win10资源管理器占用CPU过高
  13. Python实例---爬取下载喜马拉雅音频文件
  14. 云标签,关键字图排版 html5 canvas版
  15. 面试造火箭,秋招建大楼!阿里新出《Java权威面试指南》堪称精品!
  16. mats显存测试软件linux环境,显存检测软件Mats
  17. 多元线性回归算法: 线性回归Linear Regression、岭回归Ridge regression、Lasso回归、主成分回归PCR、偏最小二乘PLS
  18. 项目:模仿苹果桌面,近大远小
  19. 配置 不使用rsa 密码_了解使用RSA的密码学
  20. 扩展我们的分析处理服务(Smartly.io):使用 Citus 对 PostgreSQL 数据库进行分片

热门文章

  1. CF 1562 C. Rings (思维+模拟)
  2. Linux pwm_fan 风扇驱动
  3. 分享tushare的使用方法
  4. 语义分割算法总结(一)
  5. HTML进阶(2)- 在页面中使用flash
  6. matlab如何绘制眼图,在MATLAB中利用ADS数据绘制眼图
  7. Address localhost:1099 is already in use
  8. 衡水学院计算机实习,衡水学院教育实习系列报道之三
  9. markdown逻辑符号
  10. 概率速度2013年阿里巴巴暑期实习生笔试题--2013年5月5日考试