python爬虫---网易云音乐下载

Github完整代码获取:https://github.com/Lian-Zekun/python_spilder

1.实现功能

可以分别对歌名,歌手,歌单进行搜索,搜索歌曲和歌单会列出页面第一页所显示的所有歌曲或歌单及其id以供选择下载,搜索歌手会下载网易云音乐列表显示第一位歌手的所有热门歌曲。

2.具体实现

1.搜索部分

网易云音乐搜索界面为:https://music.163.com/#/search ,经过测试发现
对单曲搜索时链接为:https://music.163.com/#/search/m/?s={}&type=1 ,
对歌手搜索时链接为:https://music.163.com/#/search/m/?s={}&type=100 ,
对歌单搜索时链接为:https://music.163.com/#/search/m/?s={}&type=1000
其中大括号中内容为要搜索内容的名称,例如搜索年少有为,网址为:https://music.163.com/#/search/m/?s=年少有为&type=1 搜索后即出现此页面在这里插入图片描述
通过检查元素发现在网页的这一部分存在歌曲链接和名字在这里插入图片描述
同理,在搜索歌单和歌手时检查元素也会发现类似的情况在这里插入图片描述
在这里插入图片描述
虽然分析网易云音乐接口可能会更快的得到这些信息,网上也有很多这样的文章,但菜鸡的我现在对js实在是不懂,选择selenium + chrome 获取js渲染后的页面源码,并通过xpath提取想要的信息(虽然速度是慢了点,但它简单啊)
python代码:

本文导入的所有模块及对爬虫的伪装

import requests
from urllib import request
from lxml import etree
from selenium import webdriver
import platform
import os
import time


headers = {
   
   
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36',
        'Host': 'music.163.com',
        'Referer': 'https://music.163.com/'
    }

通过selenium获得页面源码

def selenium_get_html(url):
    """通过selenium获得页面源码"""
	# 无界面启动chrome
    options = webdriver.ChromeOptions
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值