首页 >知识讲堂 >数据分析知识>如何爬取豆瓣电影top250数据?

如何爬取豆瓣电影top250数据?

2021-01-04 10:46:56 阅读(643 评论(0)

标签(空格分隔):python爬虫1。爬网页,获取所需内容。我们今天要爬的是豆瓣电影top250页,如下所示:我们需要的是电影分类,我们可以通过查看源代码来分析我们需要的东西。直接进入主题吧!知道我们需要的内容在哪里,然后先用我们python强大的request库获取网页内容。获取内容后,使用易于使用的lxml库来分析网页内容,然后获取我们的内容进行下一步操作。先贴出使用request库和lxml分析的代码defget_page(i):    url='https://movie.douban.com/top250start={}&filter='.format(i)    html=requests.get(url).content.decode('utf-8')  #使用request库获取网页内容    selector=etree.HTML(html)  #使用lxml库提取内容    '''      内容的一部分可以通过观察页面找到    '''    content=selector.xpath('//div[@class="info"]/div[@class="bd"]/p/text()')    print(content)    foriincontent[1::2]:      print(str(i).strip().replace('nr',''))      #print(str(i).split('/'))      i=str(i).split('/')       i=i[len(i)-1]      key=i.strip().replace('n','').split('')#使用这里的strip和replace的目的是去除空间和空行      print(key)通过获得的内容,我们发现一部电影的所有内容都是用‘/’分开的,我们只需要提取电影分类中的东西,所以我们需要使用i=str(i).split('/')将内容分成几个内容,因为电影分类排在最后,所以我们通过i=i[len(i)-1]获得分隔后的最后一项是我们需要的电影分类,以及我们需要完成的最后一步,因为一部电影通常有多个电影分类的标签,所以我们必须继续分离获得的电影分类,观察可以知道电影分类之间只有一个空间,所以我们可以使用以下代码分离每个分类:key=i.strip().replace('n','').split('')2、下一步是将电影分类存储在mysql数据库中,以便进行以下数据分析。在这里,我们使用pymysql连接mysql数据库。首先,我们需要在mysql数据库中建立一个表:然后我们通过pysql将数据存储到数据库中,代码如下:首先,连接数据库:#连接mysql数据库connn=pymysql.connect(host='localhost',user='root',passwd='2014081029',db='mysql',charset='utf8') #user是数据库的名称,passwd是数据库的密码,通常将字符集定义为utf8,否则,存入数据库很容易遇到编码问题=conn.cursor() #获取操作游标cur.execute('usedouban') #使用douban这个数据库在保存到数据库之前,我们还需要做的另一件事,那就是对250部电影的分类进行总结,因此,我们定义了一个字典来统计电影分类的数量,这里的代码是get_page函数的一部分,代码如下:  foriincontent[1::2]:    print(str(i).strip().replace('nr',''))    #print(str(i).split('/'))    i=str(i).split('/')    i=i[len(i)-1]    key=i.strip().replace('n','').split('')    print(key)    foriinkey:      ifinotindouban.keys():        douban[i]=1      else:        douban[i] =然后定义一个保存函数,执行插入操作。如果插入失败,则执行回滚操作。操作完成后记得使用conn.close()和cur.close()关闭数据库连接,代码如下:defsave_mysql(douban):  print(douban) #douban在主函数中定义的字典  forkeyindouban:    print(key)    print(douban[key])    ifkey!='':      try:        sql='insertdouban(类别,数量)value(' "'" key "'," "'" str(douban[key]) "'" ');'        cur.execute(sql)        conn.commit()      except:        print('插入失败')        conn.rollback()三、首先使用matplotlib进行数据可视化操作,将电影分类和每个分类的数量从数据库中存储在一个列表中,然后使用matplotlib进行可视化操作,具体如下:defpylot_show():  sql='select*fromdouban;'   cur.execute(sql)  rows=cur.fetchall() #读取表中的所有字段  count=[] #每个分类的数量  category=[] #分类  forrowinrows:    count.append(int(row[2]))     category.append(row[1])  y_pos=np.arange(len(category))  #定义y轴坐标数  plt.barh(y_pos,count,align='center',alpha=0.4) #Alpha图表的填充不透明度(0~1)  plt.yticks(y_pos,category) #标记y轴上的分类名  forcount,y_posinzip(count,y_pos):    #图中显示分类数的位置是柱状图尾部显示的数字    plt.text(count,y_pos,count, horizontalalignment='center',verticalalignment='center',weight='bold')   plt.ylim( 28.0,-1.0)#可视化范围,相当于规定y轴范围  plt.title(u'豆瓣电影250') #图表的标题  plt.ylabel(u'电影分类')  #标记图表y轴  plt.subplots_adjust(bottom=0.15)  plt.xlabel(u'分类次数') #标记图表x轴  plt.savefig('douban.png') #以下是matplotlib保存图片的一些简单使用,首先,我们需要导入matplotlib和numpy包importnumpyasnpimportmatpliblib.这次pyplotasplt的可视化是柱状图,这里给出brah()函数的定义:barh()主要功能:制作横向条形图,横向条的矩形大小为:left,left width,bottom,bottom height参数:barh(bottom,width,he

以上就是关于如何爬取豆瓣电影top250数据?的相关介绍,更多如何爬取豆瓣电影top250数据?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对如何爬取豆瓣电影top250数据?有更深的了解和认识。

内容来源:数据分析网,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

强烈推荐5款效果非常好的整人软件

当你觉得无聊的时候,你可以使用整人软件整蛊一下你的朋友,当她们反应过来是假的时候,表情一定很有趣。下面我一定要给各位小伙伴强烈推荐的5款效果非常好的整人软件,希望可以帮到你。1.恶搞软件它是一款拥有很多游戏项目的整人…查看详情

版权登记作品使用范围有哪些?不构成侵权,不会赔偿的那种

对作品进行版权登记,是为了不被他人随意使用侵犯自己的权益。但其实,版权登记作品在特定条件下,是允许被他人自由使用的。那么不构成侵权、不会赔偿的版权登记作品使用范围有哪些? 图片来源于网络 根据《著作权法》规定…查看详情

手机必装的良心浏览器,超级好用

现在很多人都会在手机或者电脑上用浏览器去搜索一些东西哦,但是市面上也有很多的浏览器,不过有些浏览器还是有很多的广告或者不是很实用,以下是我给大家推荐的好用的浏览器哦。1、谷歌浏览器谷歌浏览器是我用过最好用的浏览器。…查看详情

盘点分享 | 电商平台建设哪家好?

由于电商平台建设的需求越来越多,市场上也出现越来越多的电商平台建设公司。他们的出现,让企业有了众多选择,同时也让企业不知如何选择。企业想知道电商平台建设哪家好,不妨跟随小万往下看。 图片来源于网络 ● &nbs...查看详情

windows10用什么杀毒软件好

  Windows10是目前最新的操作系统,拥有更好的安全性能。然而,为了保障计算机的安全,杀毒软件仍然是必不可少的。而且,如果你经常在互联网上冲浪,那么杀毒软件就更加重要了。下文将介绍几款适用于Windows10的杀毒软件。  1.Win...查看详情

为加快知识产权布局谋篇,多个城市开始创建国家知识产权强市

2020年,是全面建成小康社会和“十三五”规划的收官之年,也是知识产权战略纲要收官之年。为加快知识产权布局谋篇,多个城市成为国家知识产权强市创建市。 图片来源于网络 知识就是财富,创新驱动发展。自国家知识产权强市创…查看详情

007工作制是什么?

  优质答案(1)  1、网络用语工作制007意思是:从0点到0点,一周7天不休息,俗称24小时。  2、007工作制是一种违反《中华人民共和国劳动法》第三十六条延长法定工作时间的工作制度,指的是一种比996更狠的弹性工作制。从0点到0点…...查看详情

贵州方笋6小时可以到达全国各地

贵州方笋,现在的网红农产品,曝光度非常高,购买率也非常高,贵州方笋在今年秋季创下了出省的销售记录,借助新零售之力成了网红产品。在今年9月份,贵州省的方竹笋首先在盒马的全国门店登场,一直延续到国庆节后,这个每年只卖一…查看详情

第三方微信小程序平台怎么选?可依靠这些方面来判断

因为微信本身就是一个用户非常多的大平台,所以微信小程序,也能够依靠微信所带来的优势更好的推广产品,也有更多的商家开始投入到小程序的创作中。为了适应时代的需求和发展,在市面上也有不少第三方的开发平台,可帮大家创作出…查看详情

常用的办公软件有哪些 常用的办公软件排行榜

相信大家现在办公都会使用到很多的办公软件,这些办公软件都是十分强大的,而且是经常使用的,下面*就给大家来详细介绍一下啊常用的办公软件有哪些  常用的办公软件排行榜这一块的相关内容,希望能帮助到大家。 常用的办…...查看详情

好用的投屏软件有哪些 投屏软件排行榜

  相信大家在很多的工作场合,特别是开会的时候都会使用到投屏软件,包括在家里的时候也会经常投屏看电影等等,下面*就来介绍一下好用的投屏软件有哪些  投屏软件排行榜这一块的相关内容,希望能帮助到大家。  投屏软件…查看详情

全球手机销量排行榜,值得一看

手机现在是不可缺少的电子设备,不仅可以打电话,也同时具备了很多的功能,还能够帮助大家完成学习和工作,甚至也具有很多的*功能,手机更是日常生活中所不可或缺的,在下面就针对销量比较好的手机为大家介绍,哪款手机受欢迎可以…查看详情

网站设计的基本流程有哪些

网站设计的基本流程通常包括以下几个关键步骤:需求分析、信息架构设计、界面设计、内容创作、开发与测试、上线和维护。下面将对每个步骤进行简要介绍。1. 需求分析:这是网站设计的起点,通过与客户或项目团队的沟通,明确网站…查看详情

真的有电脑挂机赚钱软件吗?都有哪几种呢?

每一天的生活都离不开钱,所以怎样赚钱也是大家最为*的一个话题了,而对于经常玩游戏的人们来说,可以通过游戏来赚钱,但是却需要大量的精力和时间,如果能有一款电脑挂机赚钱的软件,则要省心不少,那么真的有电脑挂机赚钱软件吗…查看详情

SAP系统是什么?一套多少钱?

近期很多朋友在咨询小万sap系统是什么?其实SAP系统是属于erp系统的一种,同时sap也是一家德国erp公司的名称,该公司在erp市场的销售份额也非常高,常年占据第一的位置。而部署一套SAP系统需要多少钱呢?小万也整理了相关的资料供各位参...查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询