利用python广西快乐十分源码出租爬取网易云歌手top50歌曲歌词

python广西快乐十分源码出租 dsluntan.com Q:3393756370 VX:17061863513近年来,发展迅速,成为了最炙手可热的语言。

那么如何来进行网易云歌手top50的歌曲歌词爬取呢

  1. 首先进行网易云并进行喜欢的歌手搜索如下:

在这里需要注意的是http://music.163.com/#/artist?id=1007170并不是真的我们需要的连接,真实的链接应该是http://music.163.com/artist?id=1007170

  1. 搞清楚了连接的问题之后,就要进行BeautifulSoup对网易进行抓取

核心代码如下:

#encoding=utf-8
import requests
import json
import re
import os
from bs4 import BeautifulSoup

headers = {
‘Referer‘:‘https://music.163.com‘,
‘Host‘: ‘music.163.com‘,
‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36‘,
‘Accept‘: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8‘
}

def get_top50(artist_id):
url = "http://music.163.com/artist?id="+str(artist_id)

s = requests.session()
s = BeautifulSoup(s.get(url,headers=headers).content,"lxml")

artist_name = s.title

main = s.find(‘ul‘,{‘class‘:‘f-hide‘})
main = main.find_all(‘a‘)

song = {}
song[‘artist_name‘] = artist_name.text
song[‘list‘] = main

return song

返回的song是一个dict,有两个键值对,artist_name记录歌手名称,list记录歌曲名称以及href值

要想获得top50歌曲的id以及链接需要对返回值进行如下处理

song[‘href‘] --- 歌曲链接

song.text --- 歌曲名称

如果使用上述代码提示出错,那可能是没有安装BeautifulSoup和lxml的包。这个时候需要首先进入Python的安装路径,然后找到script文件夹,打开cmd进入script所在目录,使用命令

pip install BeautifulSoup
pip install lxml

#这里需要注意的是pip的版本要与使用的python版本一致
#譬如本机的python使用的是3.0版本以上,就需要使用pip3

  1. 获取歌曲歌词

其实上一步中,我们已经可以得到每首歌对应的跳转链接,但是要是直接爬取那个链接的话会比较麻烦,尤其是token值的配置很复杂。为了简单起见,在这里运用的是网易云歌曲歌词API,此处可以参考链接http://moonlib.com/606.html

详细代码如下:

def get_lyric(song_id):
list = song_id.split(‘=‘)
id = list[1]
url = "http://music.163.com/api/song/lyric?id="+str(id)+"&lv=1&kv=1&tv=-1"

s = requests.session()
s = BeautifulSoup(s.get(url,headers=headers).content,"lxml")
json_obj = json.loads(s.text)

final_lyric = ""
if( "lrc" in json_obj):
    inital_lyric = json_obj[‘lrc‘][‘lyric‘]
    regex = re.compile(r‘\[.*\]‘)
    final_lyric = re.sub(regex,‘‘,inital_lyric).strip()

return final_lyric
  1. 将获得歌词字符串写入txt文件

def ConvertStrToFile(dir_name,filename,str):
if (str == ""):
return
filename = filename.replace(‘/‘,‘‘)
with open(dir_name+"//"+filename+".txt",‘w‘) as f:
f.write(str)

原文地址:http://blog.51cto.com/13916230/2156900

时间: 2024-08-27 07:46:55

利用python广西快乐十分源码出租爬取网易云歌手top50歌曲歌词的相关文章

Linux中将广西快乐十分源码搭建添加到组的指令

在 Linux 操作系统下,如何添加广西快乐十分源码搭建到一个特定的组中?企 娥:217 1793 408如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux 那繁多的命令行操作真是件不容易的事. 在 Linux 中,增加用户或改变用户的组属性可以使用 useradd 或者 usermod 命令.useradd增加一个新用户或者更新默认新用户信息.usermod 则是更改用户帐户属性,例如将其添加到一个已有的组中

动手做广西快乐十分源码下载的核心之http解析

webserver往小里说核心功能就是socket管理.url处理.http协议处理.业务dll管理等:下面简介绍一下http协议:超文本传输协议(HTTP)是一种通信协议,当时就是为web传输设计的一个基于tcp的协议:基于这个字面上理解,可以简单的点说就是用tcp来传输文本.数据的一种编解码格式.传输协议一般比如说定个长度+内容,或者以回车符作为结尾等方式.http协议是文本传输协议,所以也是采用回车符来结尾的方式来实现编码传输解析的: 这里使用分析工具来简单分析一下http的基本格式: 从

如何用Python网络爬虫爬取网易云音乐歌词

前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地. 本文的目的是获取网易云音乐的歌词,并将歌词存入到本地文件.整体的效果图如下所示: 基于Python网易云音乐歌词爬取 赵雷的歌曲 本文以民谣歌神赵雷为数据采集对象,专门采集他的歌曲歌词,其他歌手的歌词采集方式可以类推,下图展示

python爬取网易云音乐歌曲评论信息

网易云音乐是广大网友喜闻乐见的音乐平台,区别于别的音乐平台的最大特点,除了"它比我还懂我的音乐喜好"."小清新的界面设计"就是它独有的评论区了------各种故事汇,各种金句频出.我们可以透过歌曲的评论数来判断一个歌者的市场分量和歌曲的流行度.言归正传,如果我们想要简单爬取指定歌曲的评论内容来做词云或者其他相关数据分析,有没有容易上手的好方法呢? 首先,我们打开网易云音乐的网页版:https://music.163.com/,随便选择一首歌曲,如林志炫版本的<

python爬取网易云周杰伦所有专辑,歌曲,评论,并完成可视化分析

---恢复内容开始--- 去年在网络上有一篇文章特别有名:我分析42万字的歌词,为搞清楚民谣歌手们在唱些什么.这篇文章的作者是我大学的室友,随后网络上出现了各种以为爬取了XXX,发现了XXX为名的文章.我想了想,我能不能也通过爬虫来做些什么呢?先入为主,我也以歌曲作为切入口---周杰伦,是的,我们这一代的生活成长,总是离不开周董的声音的陪伴,那我就来爬取周董的歌曲,歌曲评论,歌词,以及各种有用的信息并做一个可视化吧. 这篇文章适合于python纯小白,因为本人也是python刚刚入门,里面可能很

python学习之爬虫(一) ——————爬取网易云歌词

接触python也有一段时间了,一提到python,可能大部分pythoner都会想到爬虫,没错,今天我们的话题就是爬虫!作为一个小学生,关于爬虫其实本人也只是略懂,怀着"Done is better than perfect"的态度硬着头皮开始了这篇文章的撰写!好了,废话不多说! 先说一下今天我们的目的,作为一个音痴但不影响我对于音乐的执着,所以今天我们爬取的是网易云音乐,我们将会通过代码爬取歌词并写入到本地. 作为新手,我很本能就打开页面复制了url,然后用Beautifulsou

python爬取网易云音乐歌单音乐

在网易云音乐中第一页歌单的url:http://music.163.com/#/discover/playlist/ 依次第二页:http://music.163.com/#/discover/playlist/?order=hot&cat=%E5%85%A8%E9%83%A8&limit=35&offset=35 依次第三页:http://music.163.com/#/discover/playlist/?order=hot&cat=%E5%85%A8%E9%83%A8

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

利用src.rpm包修改源码后重新制作rpm包

1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm