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

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

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

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

推荐阅读

异步电机是什么

同步电机和异步电机各自的优缺点?同步电机转速与定子磁场转速同步,不论电机负载大小,只要不失步,电机转速就不会变化。只要调节电源频率就能达到精确调节电机转速,适用于精密调速场合。同步电机因为精度高、做工复杂、成本高、…查看详情

知识产权专利是什么意思

知识产权专利是指为了保护创新成果而授予的一种独家权利。它是知识产权领域中最常见和重要的形式之一。一个专利可以授予发明者对其发明的独占权利,使其能够在一定的时间内以排他性方式使用、制造、销售或授权其发明。专利制度旨…查看详情

两种软件著作权取得方式,可根据以下情况做判断

软件著作权取得方式与一般作品著作权一致,都只有两种取得方式。一种为原始取得、一种为继受取得。 图片来源于网络 ■  软件著作权取得方式:原始取得定义;指软件著作权权利的取得不是以他人已存权利为取得基础...查看详情

2022年安卓浏览器排行

 下面是万商云集*给大家整理的2022年安卓浏览器排行,这些浏览器相对来说比较好用但是也比较少见。 BravePrivacy浏览器  Brave浏览器提供了一系列旨在保护你在网络上的安全和隐私的功能。例如,它包括针对内置广告、弹出窗口、脚本...查看详情

微信管理软件功能都有哪些呢?

微信是每个人都在用的一个软件,用微信就可以直接联系对方特别的方便,这样也可以省掉手机话费了,只要你有流量就可以给别人发微信,那么,有关于微信管理软件功能都有哪些呢?1、丰富多彩的营销工具假如您有不计其数乃至数以百计…查看详情

flash动画制作常用软件推荐

我们平时在制作任何东西的时候,都是需要借助软件的,只不过每一款软件所对应的应用功能不相同,应用范围也不一样,所以不管你在制作什么东西的时候,一定要找对应的软件去制作,这样才可以那么制作flash的软件有哪些?1、flash8.0官方…查看详情

转让专利权需要交增值税吗?

    在平时很多的小伙伴都不知道转让专利权交增值税吗的基本情况,而且对转让专利权交增值税吗都不是很熟悉,下面万商云集*就为大家整理了转让专利权交增值税吗这方面的相关内容,希望下面的内容能帮助到各位。    一、转…查看详情

农产品要商品化、品牌化、电商化,互联网推广是什么角色?

农产品滞销,农民“丰产不丰收”是常见社会现象,也是国家农业部高度重视并极力解决的问题。互联网推广是什么?是渠道,也是销售。2020年上半年的网络数据统计显示,“互联网+农产品”能够有效帮助农产品销售,在一定程度上解决农产…查看详情

csdn是什么

csdn是什么?是中国软件开发者网络。在“中国的软件开发者网络”或“中国软件开发者网络”(CSDN),通过操作白莲Midami数码科技有限公司,是国内最大的网络之一,软件开发者在中国。CSDN提供Web论坛,博客托管,IT新闻和其他服务。C...查看详情

制作图片的软件都有哪些?好用的图片软件制作推荐

不少的人喜欢拍照片,拍完照片之后对于照片的制作也是非常关键的,只有通过对图片进行编辑才能够打造出更好的效果,也会让图片变得更加美观精致。如果想要让图片呈现出不一样的效果,那么就应该要选择比较好的软件。那么制作图片…查看详情

小程序如何推广运营 小程序怎么做推广

  最近几年小程序营销是非常的火热的,很多的企业公司都在做小程序营销推广,下面万商云集*就给大家详细介绍下小程序的营销推广方法。小程序推广,常用十二种方法,你用过几种方法  第一种,用名称强排名  也许很多人还不知…查看详情

免费学习网站有哪些 5个免费学习网站推荐

  现在有很多小伙伴会因为工作太忙而没有时间去学习,提升自己,想要去网上学习又不知道哪些网站靠谱。别担心,今天*将分享几个非常强大还免费的自学网站给大家,下面万商云集*给大家来详细推荐一下免费学习网站有哪些 5个免…查看详情

如何申请开网店,具体步骤和条件是什么

“网店”,作为一个火爆的代名词,在当下社会的规模正一点点扩展。好多人想要尝试去经营一家网店,但是又有几大多数人不了解如何申请开网店,今天这篇文章就告诉你如何让申请开网站,具体步骤和条件是什么。 一、注册淘宝账户&n…查看详情

如何将域名解析到ip,都有哪些过程?

  优质答案(1)  步骤如下:  1、DNS的解析过程,主要有以下几个步骤:  1.如果现在要访问某网站站点,客户机会提出解析请求,并且将请求发送给本地的域名服务器。  优质答案(2)  域名解析是把域名指向网站空间IP,让…查看详情

企业ERP系统需要做哪些维护工作?

企业ERP系统在建设完成上线后,能够给企业带来很多便利,但对ERP系统的运营和维护却容易被忽略。事实上,企业ERP系统只是一款工具,需要运营起来才能发挥效用,也需要使用维护才能长期为企业所用。那么,企业ERP系统上线后的主要维护…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

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

    电话咨询

    在线咨询