专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
腾讯技术工程  ·  0day漏洞量产?AI Agent“生产线”曝光 ·  2 天前  
极客之家  ·  一款开源强大的酒店客户管理系统 ·  2 天前  
51好读  ›  专栏  ›  程序员大咖

抓取豆瓣音乐Top 250数据存到Excel中

程序员大咖  · 公众号  · 程序员  · 2018-03-14 10:22

正文

请到「今天看啥」查看全文


第一页:https://music.douban.com/top250?start=0
第二页:https://music.douban.com/top250?start=25
第三页:https://music.douban.com/top250?start=50
链接规则显而易见,每25条一页,0,25,50,75…225


请求头:


就一个:Host:music.douban.com
模拟请求的套路摸清了,接下来就是处理网页拿到想要的数据了:
看下Element,不难发现数据都单独放在一个个table里:



点开其中一个:



先捋下我们想采集到的数据:
图片链接,歌名,歌手,发行时间,分类,评分,评分人数,歌曲详情页,然后就是慢慢抠数据了,自己私下抠,不会抠找以前文章看,这里直接给出代码:



看下控制台打印出来的信息:



可以,没毛病,接下来看下怎么把数据写到excel表格里~


2.如何将数据写入到Excel中

Step 1:安装库,操作Excel,你需要两个库:xlwt(写Excel) 和 xlrd(读Excel)
命令行pip安装一波。

sudo pip3 install xlwtsudo pip3 install xlrd

Step 2:熟悉几个基本函数
写入Excel:

xlwt.Workbook():创建一个工作薄

工作薄对象.add_sheet(cell_overwrite_ok=True):添加工作表,括号里是可选
参数,用于确认同一个cell单元是否可以重设值

工作表对象.write(行号,列号,插入数据,风格),第四个参数可选
举个简单例子:插入这样的数据:

sheet.write(0,0,"姓名")
sheet.write(0,1,"学号")
sheet.write(1,0,"小猪")
sheet.write(1,1,"No1")

得到的表格:


工作薄对象.save(Excel文件名):保存到Excel文件中

读取Excel:

xlrd.open_workbook():读取一个Excel文件获得一个工作薄对象

工作薄对象.sheets()[0]:根据索引获得工作薄里的一个工作表

工作表对象.nrows:获得行数

工作表对象.ncols:获得列数

工作表对象.row_values(pos):读取某一行的数据,返回结果是列表类型的







请到「今天看啥」查看全文