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

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

2021-01-04 10:46:56 阅读(641 评论(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数据?有更深的了解和认识。

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

推荐阅读

免费档案管理软件 档案专用软件有哪些

  OneNote自微软2003年推出,已近20个年头,其间曾一度是业界标杆。但是对于这款免费档案管理软件来说很多人都很陌生,下面万商云集小编就来给大家介绍下这款免费的免费档案管理软件。希望能帮助到大家。  一、形象模拟传统纸质笔…查看详情

专业家装设计用什么软件更好?

居民对于房屋室内装潢设计的美感越来越重视,很多专业的家装设计者带来了一定的挑战性,那么对于专业家装设计者而言,家装设计用什么软件更好呢?今天就为大家推荐几款专业人士频频好评的家装设计软件。1、酷家乐全空间云设计软…查看详情

是否进行马德里商标注册?浅谈马德里商标的优缺点

马德里商标是很多企业目前较为青睐的,也想要加入其中的,毕竟这一商标完成注册之后,在相关的成员国中,使用起来会更加的简单方便,并且我国的企业,已经开始加快了发展的步伐,想要走向国际,而该商标也具有省时省钱等各个优势…查看详情

企业网站建设的功能需求和性能要求

互联网技术在发展,人们对技术的依赖和需求也越来越强,企业在网站建设上的投入也越来越大,对于网站建设功能的要求也越加严格和完善,当网站需要进行功能拓展的时候,就需要整合主站、分站和其它内外网的工作,这样的拓展工作是…查看详情

基带是什么

新手小白,弱弱的问一句:基带是什么意思?基带:Baseband信源(信息源,也称发终端)发出的没有经过调制(进行频谱搬移和变换)的原始电信号所固有的频带(频率带宽),称为基本频带,简称基带。基带是什么基带版本是什么?手机上的基带…查看详情

路由器的RESET是什么意思

wifi路由器后面有一个按钮叫RESET吗?RESET键是复位键,长按可使无线路由器恢复出厂设置。路由器恢复出厂设置后,需要重新设置。需要拨号的宽带猫接无线路由器吗,你这样做:无线路由器插上电,先不要接猫,把无线路由器复位(恢复出厂…查看详情

思维导图软件用哪个比较好?好用思维导图软件介绍

思维导图相信很多人都听说过,其实这是一种很潮流的思维工具,在目前应广泛包括老师,学生以及很多的程序员也都在使用。使用思维导图能够更好的进行项目管理,也能够进行知识梳理,所以说是很不错的,那么思维导图软件用哪个比较…查看详情

[艺术作品版权登记] 维护个人原创 维持产业生态

文创产业伴随知识产权意识的整体提升,在近几年有了较快的发展,但随之而来的就是产业侵权和艺术作品抄袭问题。行业问题频出的时候,艺术作品版权登记的重要性就更加凸显,版权为行业健康发展撑起了保护伞,是艺术创作者必要的保…查看详情

点击这里 教你如何快速完成网站运营指标

当你开始做一名网站运营人员的时候,就需要认真规划,如何在最短的时间内完成网站运营指标,怎样才能在工作上取得成绩。认真阅读以下几点,有助你制定运营阶段计划,稳步推进才能取得好的运营成绩。图片来源于网络1.熟悉网站结构在…查看详情

买火车票飞机票,靠谱的抢票软件有哪些?

每逢节假日,尤其是春运,抢票已不再是新鲜事,各式抢票软件也应运而生,那么买火车票飞机票到底靠谱的抢票软件都有哪些?一起来看看。 1.12306 最靠谱的抢票渠道,肯定还是官方的12306,12306官方出票,12306手...查看详情

企业知识产权管理的关键要素有哪些?

社会工业化生产逐渐偏向知识创新生产,经济的提升刺激了知识产权行业的发展。在知识创新驱动企业发展的趋势之下,企业知识产权的保护和管理成为了自身资产保护的重要手段。企业知识产权管理是一套系统化的流程体系,其中包括了战…查看详情

盘点5款利用智能配电系统发明的智能软件

二十世纪六十年代,随着经济的不断发展,我们逐渐从蒸汽时代步入了电气时代,一步一步地发展才有了今天的现代智能配电系统。下面是我给大家盘点的5款利用智能配电系统发明的智能软件,内容如下:1.智能配电箱它是一款运用智能配电…查看详情

高质量新闻app排名 手机新闻app排行榜

每个年龄段所对应的爱好都是不相同的,对于一些中年人来说,他们更关心的是国家的大事,所以每天都会听一些新闻,那么我们除了可以在电视上看新闻之外,在手机上也是可以看新闻的,大家可以了解一下,听新闻APP排行榜有什么?1、今…查看详情

呼叫系统哪个比较好?这6款值得收藏

呼叫系统在企业中的使用率非常高,它们在提升品牌形象同时,能通过呼叫中心系统将企业所有部门集中对外联络,大大提高了工作的效率和服务质量,呼叫系统哪个比较好?以下10款推荐给你。 1. 容联云通讯呼叫系统 为企业客...查看详情

视频截取软件哪个好?六款视频截取软件推荐

很多人在平时的时候都特别喜欢拍摄短视频,拍完视频之后就需要进行视频截取,这样才能够制作出更有质感的视频效果才有更好的欣赏价值,在进行视频截取的时候,很多人都会选择不同的软件,选择不同的软件带来的效果也不同,那么视…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

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

    电话咨询

    在线咨询