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

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

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

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

推荐阅读

怎么查询商标是否被注册?

企业规划使用的品牌或者已经投入使用的品牌,如何知道他们能不能注册,怎么查询商标是否被注册?一起从下面几个方面入手了解一下。 图片来源于网络一、确定需要使用的商标名称 首先要确定企业使用的商标名字,最好再多想几…查看详情

efi系统分区有什么用

EFI(ExtensibleFirmwareInterface)系统分区是计算机硬盘上的一小块空间,用于存储引导和固件配置信息。EFI系统分区:简化引导和提供固件配置 在现代计算机系统中,EFI系统分区起着至关重要的作用。它不仅简...查看详情

Excel Mid函数的使用方法

Excel中MID函数的使用?这里我们讲一讲Excel中MID函数的使用方法。1、Mid函数有三个参数,第一个是字符串或者所在单元格;第二个参数是提取开始的位数;第三个参数是提取的字符长度,如下图所示:2、下拉填充,得到结果下图所示:3、当...查看详情

数组公式怎么下拉填充

excel函数vlookup怎么解决引用两列数据?公式一:=index(sheet2!c:c,match($a2&$b2,sheet2!$a$1:$a$1000&sheet2!$b$1:$b$1000,))数组公式,按CTR...查看详情

淘宝如何刷钻?刷钻的方法有哪些?

淘宝最安全的秒钻方法?快速提钻目前太好的办法不是很多1.选择产品做一下基础,然后低价跑一下销量出一下评价2.做一下产品的基础评价,跑淘客走销量3.快速秒钻出来信誉等级4.做AB单快速提高销量提高信誉以上1.2这两种比较安全,但操作起…查看详情

学校收费管理系统哪个好用?

近年来网络技术越来越发达,微信支付宝等支付方式蜂拥而出,各地都与时俱进,用上了互联网技术,学校也不列外。学校收费管理系统是专为学校定制的综合性管理系统,它里面包含系统权限管理,学生档案管理,应缴费用管理等多种功能…查看详情

3d建模软件有哪些 免费好用的3d建模软件排行榜

  3d建模软件在很多的场合都是很实用的,而且有很多的设计都是需要用到的,下面小编就给大家来详细介绍一下3d建模软件有哪些 免费好用的3d建模软件排行榜这一块的内容,希望能帮助到大家。  3d建模软件有哪些  1、《3D看图》…查看详情

游戏主播们都在用的,七大免费又好用的变声器软件

你是否还在因为打游戏时不敢开麦而困扰?你是否还在因为自己声音不好听而不敢发语音和别人打电话?别担心,今天我将会给大家盘点七大免费又好用的变声器软件,保证真实好用,让你不在为自己的声音而烦恼。1.魔豆变声器魔豆变声器App…查看详情

聚划算首页(聚划算活动报名条件)鱼爪网

双11聚划算是什么意思?双十一巨划算的意思是在双十一活动这个阶段购买。物品是非常的划算的,因为双十一是一个商家的大促活动,在这个时间段买东西都很便宜。双11聚划算是什么意思?双11聚划算是在11月11号之前,尤其是在10月11号这一天…查看详情

中小企业跨境电商平台怎么做

经济全球化的不断完善与电子商务的急速扩张,催生了当下热门的电商新选择跨境电商。市场需求度很高,同时兼具可观的经济效益,有很好的发展前景。那么就中小企业来说的话,跨境电商平台怎么做呢?图片来源于网络◆ 1、区分跨境…查看详情

获取域名证书的方法

  一、什么是域名证书  域名证书,是指数字证书,一种用于保护用户数据通信安全的网络安全协议,用于建立安全的HTTPS连接时,用以验证网站身份。该证书包含网站的域名和公钥,以及_https或_ssl连接时用的数字签名,保证用户访问的…查看详情

电商怎么做新手入门,这些方法必须掌握

  随着互联网的发展,电子商务已成为一个热门的话题。电子商务是一种通过互联网进行商业活动的方式,涵盖了各种商业活动,例如销售产品,提供服务,建立关系等。电子商务对企业来说是一个非常重要的工具,在很大程度上可以提高…查看详情

专利工作的地域性规定内容 专利工作的地域性规定是什么

   在平时很多的小伙伴都不知道专利工作的地域性规定是什么的基本情况,而且对专利工作的地域性规定是什么都不是很熟悉,下面万商云集小编就为大家整理了专利工作的地域性规定是什么这方面的相关内容,希望下面的内容能…查看详情

计算机软件著作权申请登记 保护软件50年

国家著作权行政管理部门鼓励著作权人进行计算机软件著作权登记,并对已登记的软件给予保护。计算机软件著作权申请登记获得的软件著作权登记证书是对登记事项的初步证明,可以帮助持有者在诉讼中起到减轻举证责任的作用。根据国务…查看详情

2022年市面火热的资产管理系统软件排行榜

到目前为止,很多公司企业或是单位都逐渐意识到资产管理的关键,市面也显现了更多的资产管理软件,但都不知道二者的性价此是否是高,下列是我们梳理出市面上高性价比的七款资产管理系统aPP!1.资产管理专家是一款金融理财应用,是个…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

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

    电话咨询

    在线咨询