如何爬取豆瓣电影top250数据?
2021-01-04 10:46:56 阅读(634) 评论(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
推荐阅读
- 5款热门手机监控软件盘点,照看老人监控超方便!
目前国内的人口老龄化问题不断加剧,而年轻群体不断向大城市涌入,对于很多人来说家里的老人可能都是在老家生活,而子女又不能在身边陪伴,如果出现一些紧急情况又无法及时处理怎么办?很多年轻人选择通过手机监控的方式来时刻查看家里老人的动态,避免一些危…查看详情
- 看泰剧用什么软件呢?这些软件为大家推荐
在闲暇的时候,很多人都比较喜欢看泰剧,但是如果没有选对软件的话,可能也会受到限制。其实大家不妨选择,针对于看泰剧所使用的软件,这样能够让大家轻松的找到自己喜欢的泰剧,那么看泰剧用什么软件呢?这这些软件为大家推荐,一起来了解吧。 …查看详情
- 误删微信好友怎么恢复?
苹果手机微信删除了的好友怎么恢复?登入微信。在微信主界面底部点击“微信”。所有的聊天记录都在,里面包含了与好友的聊天记录列表。 点击一个好友,打开对应的备份文件夹,正常都是一堆数字和字母组成文件名的文件夹。进入后,找到“voice”文件夹…查看详情
- 域名停放是什么意思
域名停放是指将未使用或暂时没有使用的域名(即没有网站或网站不可访问)指向一个有广告或推广信息的网站,以便通过这些广告或推广信息来获得收益。这种方式被称为“域名停放”或“域名占用”。 通常,域名停放是由域名注册商或域名交易平台提供的一项…查看详情
- 出纳用什么财务软件比较好?
每个公司在招聘职位的时候都是有出纳这个职位的,出纳主要管的是公司的一些财务问题,包括员工的工资或者是员工的罚款问题,都是管的,那么出纳用什么财务软件比较好呢,这个大家是需要提前了解到的。 1、柠檬云财税 是一款功能完善的免费…查看详情
- 微信电商小程序开发 | 它的配套组成部分以及价格
微信电商小程序开发怎么做?有哪些组成部分?各价格是多少?想必这是大多有微信电商小程序开发需求的企业都尤为关注的问题。图片来源于网络 微信电商小程序开发配套组成部分及价格:◤ 1. 域名我们在小程序中看到的商品图片,都需要通过在后台操作进行…查看详情
- plm系统功能介绍,国内知名plm厂商对比
信息化时代,信息化企业管理越来越受到企业决策者的重视,PLM系统的实施和部署在整个信息化管理流程中占非常重要的地位,本文总结了一些plm系统功能介绍和部分国内知名plm厂商对比分析干货,有需求的朋友可收藏。 什么是plm系统? PLM的英文…查看详情
- 桂林十大特产是什么
桂林是中国的旅游胜地,在这里不仅有美丽的山水风景,还有丰富的文化底蕴和美味的当地特色美食。桂林的特产不仅种类繁多,而且口味独特,深受游客和当地人的喜爱。以下是桂林十大特产的详细描述,希望能为大家带来一些帮助。 1.桂林米粉 桂林米粉…查看详情
- 电商网络推广怎么做?电商维持蓄客的最佳手段
网络是伴随着信息技术的发展而发展的。网络技术的发展和应用改变了经济体系中信息的分配和接受方式,改变了人生活、工作、学习、合作和交流的环境。然而络营销作为新的营销方式和营销手段实现企业营销目标。所以电商网络推广是非常重要的,电商网络推广怎么做…查看详情
- tm和r商标的区别是什么?tm和r商标有什么区别?
在注册商标的时候会出现两种,一种是tm,一种是r商标。不懂的人可能就不知道这两者之间的区别。如果想要更好的注册商标,那么这两者之间的区别是一定要知道的,那么tm和r商标的区别是什么呢?下面就来详细的了解一下这个问题。1、含义不一样tm的商标…查看详情
- 免费派单系统大全,派单系统平台怎么选?
全球经济在疫情的笼罩下受阻,线上需求与日俱增,不难看出其不小的潜力。随着后疫情时代的到来,线下传统行业逐步升温,消费需求迅速释放,派单系统的需求量逐渐递增,派单系统平台怎么选?这份免费派单系统大全一定能对你有所帮助。 1. 销售易免费派单系…查看详情
- 图片编辑软件哪些比较好用?好用的图片编辑软件推荐
很多人都特别喜欢拍照或者是收藏一些比较好看的图片,但是有些图片可能清晰度不够或者是图片的上面会有水印,这个时候就需要进行图片编辑。其实想要打造出更理想的图片效果,可以选择到比较好用的图片编辑软件,但是图片编辑软件比较多,很多人都…查看详情
- 笔记本软件如何选?推荐这几款
现在的人们,已经慢慢的放弃使用纸质的笔记本了,更多的开始选择一些笔记本软件,来记录事情,或者是写各种学习的笔记和工作的笔记等等,但是在选择笔记本软件的时候,一定要注意根据自己的需求,那么笔记本软件如何选择呢?推荐这几款,一起来了…查看详情
- 无货源网店真的能赚钱吗
无货源网店指的是在不需要购买和存储自己的产品的前提下,通过自建网店进行产品销售的模式。这种模式的出现,在一定程度上解决了传统实体店经营所面临的资金压力和库存管理等难题,大大降低了创业门槛,吸引了越来越多的创业者。但是,在无货源网店中真的…查看详情
- 哪儿可以注册商标?这些知识你要了解
哪儿可以注册商标?近期,商标时不时爆出大新闻,许多之前不曾了解商标的企业、个人都开始关注起来商标了,也开始明白了对企业而言,商标十分重要。它是企业打造品牌的基础,也是企业产品的一个保障。许多企业、个人也会开始好奇道,商标如何注册呢?商标在哪…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP

企业首选的数字选用平台






