爬取酷狗音乐华语新歌榜前100

import requests
import time
import lxml
from bs4 import BeautifulSoup

headers = {
‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36‘,
‘Cookie‘: ‘gr_user_id=c6f58a39-ea25-4f58-b448-545070192c4e; 59a81cc7d8c04307ba183d331c373ef6_gr_last_sent_cs1=N%2FA; grwng_uid=9ec14ad9-5ac0-4bb1-81c1-bc60d2685710; _uab_collina=154660443606130958890473; xz_guid_4se=7cdf79ce-1836-4fcb-acfa-4ebdf3a01a01; abtest_ABTest4SearchDate=b; TY_SESSION_ID=93f80c09-2ebd-4436-b321-46e658b852cb; 59a81cc7d8c04307ba183d331c373ef6_gr_session_id=fa326b17-1b31-4da3-923f-35c7b967328c; 59a81cc7d8c04307ba183d331c373ef6_gr_last_sent_sid_with_cs1=fa326b17-1b31-4da3-923f-35c7b967328c; 59a81cc7d8c04307ba183d331c373ef6_gr_session_id_fa326b17-1b31-4da3-923f-35c7b967328c=true; xzuuid=4df005f6; rule_math=m5srppmeot‘}

def get_info(url):
web_data = requests.get(url, headers=headers)
soup = BeautifulSoup(web_data.text, ‘lxml‘)
ranks = soup.select(‘#rankWrap > div.pc_temp_songlist > ul > li > span.pc_temp_num‘)
titles = soup.select(‘#rankWrap > div.pc_temp_songlist > ul > li > a‘)
times = soup.select(‘#rankWrap > div.pc_temp_songlist > ul > li > span.pc_temp_tips_r > span‘)
try:
for rank,title,time in zip(ranks,titles,times):
data ={
‘rank‘:rank.get_text().strip(),
‘singer‘:title.get_text().split(‘-‘)[0],
‘song‘:title.get_text().split(‘-‘)[1],
‘time‘:time.get_text().strip()
}
print(data)
print(‘ ‘)
except IndexError as e:
print(e)
if __name__ == ‘__main__‘:
urls = [‘https://www.kugou.com/yy/rank/home/{}-31308.html?from=rank‘.format(number)for number in range(1,6)]
for url in urls:
get_info(url)
print(‘--------------------------这是一页的分割线-------------------------------‘)
time.sleep(1)

使用的到的知识点:

  1. requests库的 requests.get(url, headers=headers),headers是爬取伪装头,伪装成浏览器爬取数据。
  2. BeautifulSoup(web_data.text, ‘lxml‘) 将爬取到的数据格式化,select()方法根据网页上的Copy selector 提取元素。get_text()获取元素中的文字信息。
  3. split(‘-‘)将字符串以‘-‘号分开,split(‘-‘)[0]取第一个元素。
  4. [‘https://www.kugou.com/yy/rank/home/{}-31308.html?from=rank‘.format(number)for number in range(1,6)] 生成一个url列表。

原文地址:http://blog.51cto.com/12884584/2348939

时间: 2024-10-08 12:28:06

爬取酷狗音乐华语新歌榜前100的相关文章

【Python】【爬虫】爬取酷狗音乐网络红歌榜

原理:我的上篇博客 import requests import time from bs4 import BeautifulSoup def get_html(url): ''' 获得 HTML ''' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 7.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' }

Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲

在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天就来实战下,用他们来抓取酷狗音乐网上的 Top500排行榜音乐.接下来的代码中除了会用到HttpClient和Jsoup之外,还会用到log4j和ehcache,分别用来记录日志和实现缓存,如果看官对这两个不是很熟悉的话,请自行百度,现在网上的入门实例有很多,我就不专门记笔记了. 那为什么会想到爬取

python使用beautifulsoup4爬取酷狗音乐

声明:本文仅为技术交流,请勿用于它处. 小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好, 安装方法:pip install beautifulsoup4 完整代码如下:双击就能直接运行 from bs4 import BeautifulSoup import requests import re headers = { 'User-Agent': 'Mozilla/5.0 (Windo

htmlunit+fastjson抓取酷狗音乐 qq音乐链接及下载

上次学了jsoup之后,发现一些动态生成的网页内容是无法抓取的,于是又学习了htmlunit,下面是抓取酷狗音乐与qq音乐链接的例子: 酷狗音乐: import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLEncoder; import java.util.UUID; import

python爬取酷狗排行音乐

import time import requests from bs4 import BeautifulSoup urlFormat='https://www.kugou.com/yy/rank/home/{}-8888.html' count=1 rank=1 while 1: url=urlFormat.format(count) res=requests.get(url) soup=BeautifulSoup(res.text, 'html.parser') songName=[s.te

爬虫实践-爬取酷狗TOP500数据

源代码: import requestsfrom bs4 import BeautifulSoupimport time headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ' ' (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} def get_info(url): wb_data = requests.get(url,

酷狗音乐PC端怎么使用听歌识曲功能?

生活中很多时候会听到一些美妙的音乐,耳熟或者动听却不知道它的名字.就像第一眼看到你心动的那个她却不知她叫什么.移动端有酷狗音乐的听歌识曲.现在PC端也有了相同的功能,每当我们看到一部精彩影视剧听到美妙的背景音乐却不知到名字的时候便可以用的到这个功能. 2.其次,同时打开酷狗音乐,点击音乐搜索栏旁边的那个" 听歌识曲 "按钮 3. 随后酷狗便会自动识别歌曲名称及歌词 .如图: 4.接下来就方便多了,可以试听可以下载,这里就不做过多介绍.

记一次酷狗音乐API的获取,感兴趣的可以自己封装开发自己的音乐播放器

1.本教程仅供个人学习用,禁止用于任何的商业和非法用途,如涉及版权问题请联系笔者删除. 2.随笔系作者原创文档,转载请注明文档来源:http://www.cnblogs.com/apresunday/p/8448126.html,谢谢 小八这几天正在学习微信小程序的开发,于是想在学的同时能开发出来一个关于音乐的项目,但是问题在于音乐这东西.一方面是数据量太大,第二个方面就是牵扯到很多的版权的问题,所以笔者就想着借助于目前市面上的音乐播放器上的音乐文件,鉴于酷狗音乐上边的歌多而且比较的全面,在此就

在线音乐播放器-----酷狗音乐api接口抓取

首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我等在线音乐播放器,是不会提供他们的数据库接口的,所以这个我们需要,在线抓取这些在线音乐播放器的接口,首先,这个事情,是属于违规的.是属于侵犯这些公司的版权的.所以,不能用于商业用途 我们以酷狗音乐为例子,抓取他的连接数据库的API接口 我是用的是谷歌,进入私密模式,因为在这种模式下,不会缓存歌曲 1