爬取网易云歌曲榜单中网易云歌曲及其对应id xpath csv re requests python
基操爬取网易云歌曲榜单中网易云歌曲及其对应id
回顾xpath csv re requests
先进行基础抓包!
1
2
3
然后就是代码啦,兄弟们,我的代码都很完整,看懂思路,直接收藏复制粘贴就可以运行
import requests
from lxml import etree
import re
import csv
#原网页的url为 https://music.163.com/#/discover/toplist
url="https://music.163.com/discover/toplist"#数据所在的url
headers={"User-Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7"}
response=requests.get(url=url,headers=headers)
print(response.status_code)
text="获取错误"
if response.status_code==200:#状态码获取从而判断text=requests.get(url=url,headers=headers).content.decode()
print(text)
html=etree.HTML(text)#xpath进行解析
musicTitle=html.xpath("//title/text()")#定位开头
# introduction=html.xpath("//meta[@property='og:description']/@content")如果是用户自建的歌单 介绍所在的位置,但我们现在爬取的是官方榜单没有介绍
musicList=html.xpath("//div[@id='song-list-pre-cache']/ul[@class='f-hide'][1]")[0]#第一步定位到歌单歌曲位置
oneMusicNameList = musicList.xpath("//li/a/text()")#歌单歌曲名称,但后面有很多无用信息
oneMusicUrlList=musicList.xpath("//li/a/@href")#歌单歌曲地址,但后面有很多无用信息
for i in range(len(oneMusicUrlList)):#对数据进行清洗,获取前面的歌曲信息,那些微信,微博这些没用信息就不要了if re.search("/song\?id=.+",oneMusicUrlList[i])==None:#进行判断re.search没查到就返回Noneprint(i)break
oneMusicNameList=oneMusicNameList[:i]
oneMusicUrlList=oneMusicUrlList[:i]
oneMusicIdList=list(map(lambda x:re.search("id=(\d+)",x).group(0),oneMusicUrlList))#获取其中id
musicList=[]#为csv字典存储创建列表
for i in range(len(oneMusicNameList)):musicDict={}musicDict["歌曲名"]=oneMusicNameList[i]musicDict["歌曲id"]=oneMusicIdList[i]musicDict['歌曲url地址']="https://music.163.com/#"+oneMusicUrlList[i]musicList.append(musicDict)
# print(oneMusicIdList)
# print(oneMusicNameList)
# print(oneMusicUrlList)
# print(musicTitle)
# print(introduction)
print(musicList)
with open(f"{musicTitle[0]}.csv","w+",encoding="utf-8",newline="") as f:#因为有日文韩文歌所以不能用gbkwriter=csv.DictWriter(f,fieldnames=("歌曲名","歌曲id","歌曲url地址"),delimiter="|")# csv.writer(deli)writer.writeheader()writer.writerows(musicList)
新春快乐,以后我爬一个,你们学一个,hhhhh,重点是思路
新的一年大家加油,一起努力
原创不易,给个点赞如果有点收获,谢谢啦
爬取网易云歌曲榜单中网易云歌曲及其对应id xpath csv re requests python相关推荐
- 使用scrapy再次爬取猫眼前100榜单电影!
前提: 记得去年5月份左右的时候写过一篇使用Requests方法来爬取猫眼榜单电影的文章,今天偶然翻到了这篇文章,又恰巧最近在学scrapy框架进行爬虫,于是决定饶有兴趣的使用scrapy框架再次进行 ...
- 爬取猫眼电影TOP100榜单
爬取猫眼电影Top100榜单 分析网页 内容提取 前提:会基础的python3以及requests库,正则等. 分析网页 top100榜单网址为https://maoyan.com/board/4,通 ...
- Python爬虫实战Pro | (1) 爬取猫眼电影Top100榜单
在本篇博客中,我们将使用requests+正则表达式来爬取猫眼电影官网的TOP100电影榜单,获取每部电影的序号,片名,主演,上映日期,评分和封面等内容. 之前在Python爬虫实战(1)中我们曾爬取 ...
- 摆脱剧荒!教你用 Python 一步步爬取豆瓣电影新榜单
本文以豆瓣电影(非TOP250)为例,从数据爬取.清洗与分析三个维度入手,详解和还原数据爬取到分析的全链路. 作者 | 周志鹏 责编 | 郭 芮 旁友,暑假,已经过了一大半了. 这个遥远而炙热的名 ...
- python正则爬取微信阅读总榜单写入csv
# 爬取微信阅读top总榜 import requests import re import csv url = "https://weread.qq.com/web/category/al ...
- python爬取千千音乐榜单_Python爬取QQ音乐榜单数据
原博文 2020-08-09 12:56 − 1.爬取QQ音乐榜单数据并存入数据库(MySQL) 2.代码 import requests import json from bs4 import Be ...
- python利用charles爬虫爬取下载qq音乐歌单里的歌曲——多进程
因为这是我第一个独立实践的爬虫项目,所以这次把思路都放上来了 特别注意,用的是charles,可以拦截查看url 知识点: ·······利用charles分析网页,抓包,得出对应URL ······ ...
- 爬取艺恩数据榜单年度票房电影
import requests import jsonwhile True:print("选择翻译成的年份:")print("输入:q 退出")year = i ...
- Python3---站在大佬肩膀写爬虫-爬取网易云音乐热歌榜歌曲热评(精彩评论)
和我一起加入CSDN----程序猿和攻城狮的社区 网易云音乐是我比较喜欢的一个音乐平台,对于特别热爱听歌的人来说,网易云音乐精准的音乐定位和独特歌曲推荐,让人使用起来很舒服.所谓:自古评论出人才,精彩 ...
最新文章
- react更改路由入参_react怎么路由传参?
- 微型计算机与接口技术考试题,微机原理与接口技术试题库2
- foreach之引用的使用
- 比尔盖茨:希望我们的家庭能够获得空间和隐私
- Slickflow.NET核心开源工作流引擎
- 丽水数据可视化设计价格_B端产品设计数据可视化图表选择篇
- 有关android工程的构建脚本(build.xml)的学习
- 3 ~ express ~ 静态文件托管
- 数字图像处理(三) 图像的变换
- 在java创建线程结果_Java创建线程的三种方式
- 06-Docker数据管理实践
- Html中跳转到其他页面
- linux格式化硬盘怎么那么慢,linux系统中怎么格式化硬盘
- windows7台式计算机网线连接,win7如何用一根网线连接两台电脑_一根网线怎样连接两台Win7电脑传输文件...
- Java数据结构项目
- 第二章 zio 入门
- mysql全文索引与停止词
- tensorrt部署YOLOv5模型记录【附代码,支持视频检测】
- 深入理解23种设计模式(14) -- 访问者模式
- linux无损扩空间,linux无损扩容的方法
热门文章
- 软件测试_笔记大全(完整版)
- Latex学习笔记(二)各标题的大小设置
- java Compiler API (java编译api)
- 关于联想“管理三要素”的思考
- TransGAN代码复现—九天毕昇平台
- ZYNQ平台学习--(3)u-boot编译
- centos6.5 升级openssl1.1.1g、openssh8.6p1小记
- 计算机主机电源线,电脑主机电源线是多少安和伏特
- 京东云专业安全服务介绍 | 京东云技术团队
- 简单的单例模式其实不简单