爬取的目标网址:https://music.douban.com/top250

利用lxml库,获取前10页的信息,需要爬取的信息包括歌曲名、表演者、流派、发行时间、评分和评论人数,把这些信息存到csv和xls文件

在爬取的数据保存到csv文件时,有可能每一行数据后都会出现空一行,查阅资料后,发现用newline=’'可解决,但又会出现错误:‘gbk’ codec can’t encode character ‘\xb3’ in position 1: illegal multibyte sequence,然后可用encoding = "gb18030"解决
代码如下:

import xlwt
import csv
import requests
from lxml import etree
import timelist_music = []
#请求头
headers={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"}
#爬取的内容保存在csv文件中
f = open(r"D:\Python爬虫\doubanmusic.csv","w+",newline = '',encoding = "gb18030")
writer = csv.writer(f,dialect = 'excel')
#csv文件中第一行写入标题
writer.writerow(["song","singer","time","liupai","mark","coment"])#定义爬取内容的函数
def music_info(url):html = requests.get(url,headers=headers)selector = etree.HTML(html.text)infos = selector.xpath('//tr[@class="item"]')for info in infos:song = info.xpath('td[2]/div/a/text()')[0].strip()singer = info.xpath('td[2]/div/p/text()')[0].split("/")[0]times = info.xpath('td[2]/div/p/text()')[0].split("/")[1]liupai = info.xpath('td[2]/div/p/text()')[0].split("/")[-1]mark = info.xpath('td[2]/div/div/span[2]/text()')[0].strip()coment = info.xpath('td[2]/div/div/span[3]/text()')[0].strip().strip("(").strip(")").strip()list_info = [song,singer,times,liupai,mark,coment]writer.writerow([song,singer,times,liupai,mark,coment])list_music.append(list_info)#防止请求频繁,故睡眠1秒time.sleep(1)if __name__ == '__main__':urls = ['https://music.douban.com/top250?start={}'.format(str(i)) for i in range(0,250,25)]#调用函数music_info循环爬取内容for url in urls:music_info(url)#关闭csv文件f.close()#爬取的内容保存在xls文件中header = ["song","singer","time","liupai","mark","coment"]#打开工作簿book = xlwt.Workbook(encoding='utf-8')#建立Sheet1工作表sheet = book.add_sheet('Sheet1')for h in range(len(header)):sheet.write(0, h, header[h])i = 1for list in list_music:j = 0for data in list:sheet.write(i, j, data)j += 1i += 1#保存文件book.save('doubanmusic.xls')

结果部分截图:

爬取豆瓣音乐TOP250数据保存到csv文件和xls文件相关推荐

  1. python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细

    前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...

  2. 爬虫练习-爬取豆瓣音乐TOP250的数据

    前言: 爬取豆瓣音乐TOP250的数据,并将爬取的数据存储于MongoDB中 本文为整理代码,梳理思路,验证代码有效性--2020.1.1 环境: Python3(Anaconda3) PyCharm ...

  3. Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中

    前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...

  4. 利用python爬取豆瓣音乐_Python爬虫小白入门(七)爬取豆瓣音乐top250

    抓取目标: 豆瓣音乐top250的歌名.作者(专辑).评分和歌曲链接 使用工具: requests + lxml + xpath. 我认为这种工具组合是最适合初学者的,requests比python自 ...

  5. 爬取豆瓣音乐top250

    爬取豆瓣音乐并写入excel from urllib.request import urlopen,Request from bs4 import BeautifulSoup import time ...

  6. 爬取豆瓣音乐TOP250并写入Excel

    爬取豆瓣音乐写入Excel from urllib.request import Request, urlopen import bs4 import requests import re impor ...

  7. 爬虫爬取豆瓣电影排行,保存到excel和SQLite

    # -*- coding = utf-8 -*- # @Time : 2021/11/18 19:54 # @Author : Vvfrom bs4 import BeautifulSoup # 网页 ...

  8. Scrapy爬取豆瓣图书Top250数据,在PowerBI中可视化分析

    文章目录 项目说明 Scrapy框架 网页分析 爬虫代码 items spiders pipelines main 爬取结果 PowerBI分析 分析结果 项目说明 近期在学习Python爬虫,看了很 ...

  9. 爬虫练习-爬取豆瓣电影TOP250的数据

    前言: 爬取豆瓣电影TOP250的数据,并将爬取的数据存储于Mysql数据库中 本文为整理代码,梳理思路,验证代码有效性--2020.1.4 环境: Python3(Anaconda3) PyChar ...

最新文章

  1. hadoop系统 hdfs 命令行操作
  2. 密码学===公钥和私钥解释
  3. BZOJ 2959: 长跑 [lct 双连通分量 并查集]
  4. android九宫格密码源码,Android九宫格解锁的实现
  5. REST风格笔记【简介篇】
  6. mysql 变量生命周期_Go: 延长变量的生命周期
  7. MFC创建MDI程序一个Doc对应多个View
  8. python 云词库
  9. php dw制作购物车,php – 以编程方式向WooCommerce购物车添加免税费用
  10. 【PAT】2020年春季考试乙级题目、答案、摸鱼、游记、93分
  11. KVM套件-linux基础
  12. sublime 快捷键
  13. RC电路 微分器 积分器 滤波器
  14. 计算机网络(3)——三种常见的数据交换技术
  15. 平凡的女人,伟大的奉献
  16. 01-vue(v-text,插值语法,v-html,v-model,v-on,v-bind,vue中的this,事件按键修饰符)
  17. rono在oracle的作用_rownum在oracle什么作用?
  18. PIXI_锚点图片位控
  19. H5 雪碧图 移动的机器猫
  20. scratch编程 蓝桥杯编程题 红绿灯

热门文章

  1. 用java制作扑克牌_Java实现扑克牌洗牌和发牌
  2. 如何在Gmail中使用多个电子邮件签名
  3. DAPP洋葱盲盒游戏 NFT源码加盲盒 链上去中心化
  4. Web——网页列表(实验6)
  5. Linux系统调用之wait,waitpid函数(进程相关函数)
  6. 四则混合运算c语言程序例,C++实现四则混合运算计算器
  7. java实现简单四则运算_JAVA实现简单四则混合运算
  8. Win10自带的软件全都无法打开解决方法
  9. 图像处理界的闻名人物---雷娜(Lena)
  10. 蝠鲼觅食优化(MRFO)-Matlab代码