服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

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

2021-01-04 10:46:56 阅读(640 评论(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

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

推荐阅读

云会员管理软件 让消费更便捷更有价值

云软件的相关概念是基于云计算商业模式应用的软件和平台服务的总称,在云平台上,大量的计算资源用网络统一云管理和云整合,构成一个计算资源池向用户按需服务,从而提高效率和降低成本的一种软件工具,那么什么是云会员管理软件?它能为企业和消费者带来什么…查看详情

office软件是什么 office软件有哪些?

  相信很多的小伙伴在平时办公的时候都会用到office这款办公软件,但是很多的小伙伴并不知道office办公软件包括哪些,下面万商云集小编就给大家介绍一下office软件包括哪些。Office办公软件包括了Word、Excel、Power…查看详情

2021市场3款合格合同管理系统推荐

信息技术高速发展,人们与电子紧密相连,不可分割。但信息高速发展不仅仅是给人们带来了便利,也给许多企业公司带来了不少问题与挑战。完善、免费的合同管理系统成为公司健康运作的一个重要标志,且看下面这篇2021市场3款合格合同管理系统推荐。 然而,…查看详情

国内外知名的十大crm系统有哪些

随着市场商品同质化、消费者的个性化需求,企业间的竞争愈发激烈。企业除了产品之外,提供优质服务也成了企业提升竞争力的手段之一,如今crm系统也几乎成为了销售型企业必然的选择。今天小万将带大家了解一下十大crm系统都有哪些。图片来源于网络 国内…查看详情

2022外国最火的直播app

  我们知道国内优秀的直播平台有很多,这其中包括大家都熟知的抖音、斗鱼、虎牙、快手bilibili等有着多种不一样领域的直播平台。那么今天万商云集小编带大家看一看2022外国最火的直播app。  1、Periscope  Periscope…查看详情

5款市面受欢迎的免费版仓库管理系统

每个公司和企业的业务销售量都会有所不同,仓库的管理就会越发越来的方便,如果没有一款好的仓库管理软件,是无法保证公司的仓库运营以及储备量的市面上有许多免费版仓库管理系统,但是各有各的好处和坏点,下面为大家整理了几款免费版仓库管理系统,供大家参…查看详情

推荐比较好用的餐饮收银系统前十排名

餐饮行业的发展比较快,很多的餐饮行业在收银的时候也都会选择一些比较好的收银系统。有了餐饮收银系统能够更快的进行结算,而且能够保证安全性以及准确性。但是现在餐饮收银系统比较多,想要更好的选择也应该要了解排名。那么餐饮收银系统前十排…查看详情

4款成熟供应商管理软件,使用起来省时省力

企业商业运作的连续性、稳定性不仅需要企业本身来维护,也需要企业经营者的上下游合作方来助力,例如在产品营销企业中找好供应商就是维护企业稳健发展的重要内容,对供应商资讯的管理、实力的评估、供货能力的考验、供货风险的预判都十分重要。想…查看详情

为什么要使用智能仓库管理系统?系统的主要功能是什么

随着社会的不断发展,经济的不断提高,人民的购买力不断上升,各个商家的仓库管理就显得尤为重要。仓库智能管理系统是每一家商家供货链的重中之重,一个规范的智能仓库管理系统就显得格外的重要。本文将详细介绍一下智能仓库管理系统。 为什么要使用智能仓库…查看详情

阿里巴巴认证证书在哪领取?

  优质答案(1)  问题有歧义,其一:问的是有个专利,怎样在阿里巴巴上申请专利认证。其二,想申请一个专利,在阿里巴巴上能不能申请。  中国受理专利的只有一个国家知识产权局,位于北京。可以自己申请,也可以委托专利代理所代理申请。如果的专利是…查看详情

如何建立网站 企业网站建设方法

  现在很多的中小企业都感受到了行业竞争很大,很多行业竞争度都是比较大的,而且现在很多的企业都选在在互联网上挖掘精准流量,下面万商云集小编给大家来详细介绍一下如何建立网站 企业网站建设方法,希望下面的内容能帮助到大家做好网站建设。  如…查看详情

什么软件能把视频背景替换掉?我来为你解惑

随着物质生活水平的不断提高,人们对精神文化的需求越来越强烈,文化产业蓬勃发展。短视频软件层出不穷,随时随地都能在各种社交平台上看到剪辑精美的视频画面。那什么软件能把视频背景替换掉?我来为你解惑。1.剪映剪映app是抖音官方推出的一款手机视频…查看详情

录屏软件录制内部声音哪些软件好呢?这几款功能强大

虽然现在的录屏软件越来越多了,但是录屏软件在功能方面,还是存在一定差异性的,有一些软件可能只能录屏既然没有办法录进声音,这样就需要后期配音,非常麻烦,也很难实现音画同步的效果,那么录屏软件录制内部声音哪款软件好呢?这几款功能强大…查看详情

网站域名注册流程:说来说去,3个操作就能概括全部

很多企业都会有自己的官方网站来展示自己的公司形象,那么建立网站就需要用到域名,很多人会问怎么注册域名,下面小万就来给大家讲解一下网站域名注册流程。图片来源于网络 网站域名注册流程如下:1、选择一家域名注册平台域名注册商平台,就是专门用来申请…查看详情

常用物业管理系统软件有哪些呢?

许多房地产公司都需要一些物业管理系统软件哦,通过物业管理系统软件可以更好地对小区的居民进行管理,为大家提供好的服务,但是很多人就不是很了解这些系统,下面就是我给大家的介绍! 1.思源物业通 思源物业通是基于全新的体系架构,针…查看详情

最新文章