**爬取豆瓣电影排行榜,并简单制作柱状图
一、首先,我们需要获取页面的信息,下图是从排行第25到50的电影,由此可见start可以想象为偏移量,我们把start的值换为0,得到了第一到25排名的电影,我们可以用修改start值的方式获取所需的url
import requests
from scrapy import Selector
import time
import pandas as pd
import matplotlib as plt
dic = []
for i in range(0,10):
url = ‘https://movie.douban.com/top250?start={}&filter=’.format(i*25)
dic.append(url)

/遍历所需的页面url

headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36’,
‘Host’: ‘movie.douban.com’
}
二、我们所需要的信息是电影的名称,电影的评分,评论人数,以及电影的简介,我们需要定位到所需元素的位置,进行爬取
如图的元素就很亲民!需要的数据都在一个grid_view的li里,很方便我们获取啦!

def douban1(url):
response = requests.get(url=url,headers=headers)
select = Selector(text=response.text)
data = select.css(’.grid_view li’)
print(data)
listda = []
for i in data:
dict = {}
dict[‘电影名称’] = “”.join(i.css(’.hd a .title’)[0].css(’::text’).extract())
dict[‘评分人数’] = “”.join(i.css(’.bd .star span’)[3].css(’::text’).extract())
dict[‘评分’] = “”.join(i.css(’.bd .star span’)[1].css(’::text’).extract())
dict[‘简介’] = “”.join(i.css(’.inq ::text’).extract())
listda.append(dict)
time.sleep(3)

#设置等待时长
return listda
//对所需要的数据进行爬取

data_lst = []
n = 1
for j in dic:
data_lst.extend(douban1(j))
print(‘成功采集{}条数据’.format(n*25))
n += 1

pandas是数据分析常用的数据处理的手段,可以轻松的实现数据清洗,存入excel,等数据处理方式。pandas有很多种实用的方法,以下试用几种简单操作

df_result = pd.DataFrame(data_lst)
print(df_result)

df_result.to_excel(r’doubandianying.xlsx’,encoding=‘utf-8’)#导入到excel文件
df_result[‘评分’].astype(‘float’)#将评分一列数据的类型改为float
print(df_result[‘评分’].astype(‘float’))
d1 = df_result.head(10) **#查看数据的前十行

print(d1)
b = df_result.sort_values(by=“评分” , ascending=False) #排序
print(b)

三、画柱状图
from pylab import *
#设置字体,不舍之中文会出不来
mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
#图片大小长12宽5
plt.figure(figsize=(12,5))
#标题
plt.title(“电影与其评分”)
plt.bar(d1[‘电影名称’],d1[‘评分’])
plt.show()

四、画3d柱状图
from pyecharts import options as opts
from pyecharts.charts import Bar3D
x_name = list(set(d1.iloc[:, 0]))
y_name = list(set(d1.iloc[:, 2]))
data_xyz=[]
def bar3d_base() -> Bar3D:
for i in range(10):
x = d1.iloc[i, 0]
y = d1.iloc[i, 2]
z = d1.iloc[i, 3]
data_xyz.append([x, y, z])
c = (
Bar3D()
.add(
“”,
[[d[2], d[0], d[1]] for d in data_xyz],
xaxis3d_opts=opts.Axis3DOpts(d1[‘评分’], type_=“category”),
yaxis3d_opts=opts.Axis3DOpts(d1[‘电影名称’], type_=“category”),
zaxis3d_opts=opts.Axis3DOpts(),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_=20),
title_opts=opts.TitleOpts(title=“电影评分电影评价人数与电影评分之间的关系”),
)
)
print(data_xyz)
return c.render(“line.html”)
bar3d_base()

当然,无论是matplotlib还是pyecharts都有很多实用小细节可以增添,包括上面的代码主要是为了举个例子,还能有很大的改进空间,大噶一起努力哈!我觉得这个杀手不太冷里的小女孩挺可爱的哈哈哈哈!

爬取豆瓣电影排行榜,并制作柱状图与3d柱状图相关推荐

  1. python大规模获取豆瓣影评_python爬取豆瓣电影排行榜(requests)

    ''' 爬取豆瓣电影排行榜 设计思路: 1.先获取电影类型的名字以及特有的编号 2.将编号向ajax发送get请求获取想要的数据 3.将数据存放进excel表格中 ''' 环境部署: 软件安装: 模块 ...

  2. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  3. [爬虫] 爬取豆瓣电影排行榜

    申明:本文对爬取的数据仅做学习使用,不涉及任何商业活动,侵删 爬取豆瓣电影排行榜 这是一个Scrapy框架入门级的项目, 它可以帮助我们基本了解Scrapy的操作流程和运行原理 这次我们要做例子的网站 ...

  4. python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和电影图片,分别保存到csv文件和文件夹中

    python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和图片,分别保存到csv文件和文件夹中. 爬取的数据包括每个电影的电影名 , 导演 ,演员 ,评分,推荐语,年份,国家,类型. py如果 ...

  5. Scrapy框架学习 - 爬取豆瓣电影排行榜TOP250所有电影信息并保存到MongoDB数据库中

    概述 利用Scrapy爬取豆瓣电影Top250排行榜电影信息,并保存到MongoDB数据库中 使用pymongo库操作MOngodb数据库 没有进行数据清洗 源码 items.py class Dou ...

  6. 爬取豆瓣电影排行榜top250

    爬取豆瓣电影top250 平时不知道看什么电影,正好最近学习了爬虫,自己试着把电影排行下载下来,边看边学两不误. 下面直接上代码: import requests from bs4 import Be ...

  7. python爬虫爬取豆瓣电影排行榜,并写进csv文件,可视化数据分析

    #1.爬取内容,写进csv文件 import requests import re import csv #豆瓣电影排行榜,写进csv文件 url = "https://movie.doub ...

  8. python爬取豆瓣电影排行榜数据

    电影推荐-豆瓣电影排行榜数据抓取 目标网址:https://movie.douban.com/top250?start= 目标数据描述:(1)排名(2)电影名字 (3)链接 (4)导演人员 (5)评价 ...

  9. 使用Scrapy爬取豆瓣电影排行榜

    网站ICP备案已经完成,是时候搞一波个人网站了,先搞个电影板块,就算没看过,看看影评跟别人扯的时候也好装作自己不是周末宅的样子 环境:python3.7:scrapy1.5 工具:Chrome:Pyc ...

最新文章

  1. Azure China (7) 使用WebMetrix将Web Site发布至Azure China
  2. mysql原生分页语句_mysql原生分页
  3. LinkedList 方法知识点
  4. mysql benchmark 测试工具_BenchmarkSQL数据库基准测试工具
  5. MASQUERADE
  6. CCF NOI1023 最大跨度
  7. android t9键盘,T9/全键盘/侧滑 论手机键盘设计优缺点
  8. 性能测试流程及数据分析
  9. 收藏级干货——Auto CAD历史版本功能大盘点(上)
  10. JSP开发--MVC模式(三)
  11. 磁盘最优存储问题---Python
  12. Kubernetes Pod Evicted
  13. ArcGIS按像元栅格值提取栅格
  14. php tp5 cms,thinkphpcms
  15. 本子笔从来不用,你开会带着装什么样子?
  16. 学PPT,我们一定要ldquo;好色rdquo;
  17. python因子分析 ic值 函数_Python——因子分析(KMO检验和Bartlett's球形检验)
  18. 海滩上有一堆桃子,五只猴子来分
  19. 如何在 macOS 中检查键盘、鼠标和触控板的电池电量
  20. 《西游记》师徒四人给我们的职场启发

热门文章

  1. 白鹭引擎开发微信小游戏新手教程文档
  2. python取出数组大于某值_Python替换NumPy数组中大于某个值的所有元素实例
  3. 产品目标—在敏捷团队中使用目标和关键结果(OKRs)
  4. EEG 信号频带功率计算
  5. Taro 和 uni-app选型对比
  6. 面试磕磕碰碰,辛得蚂蚁高级工程师的技术笔记指导,终获P7岗offer
  7. HTML学生个人网站作业设计:电影网站设计——电影介绍(11页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  8. 腾讯云Ubuntu建FTP心得
  9. eclipse切断_切断电源后在哪里传送天气频道
  10. echart旭日图_旭日图(echarts)