python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中

 更新时间:2019年08月24日 09:22:07   作者:shawn xie123  
今天小编就为大家分享一篇python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

爬取TOP500的音乐信息,包括排名情况、歌曲名、歌曲时间。

网页版酷狗不能手动翻页进行下一步的浏览,仔细观察第一页的URL:

http://www.kugou.com/yy/rank/home/1-8888.html

这里尝试将1改为2,再进行浏览,恰好是第二页的信息,再改为3,恰好是第三页的信息,多次尝试发现不同的数字即为不同的页面。因此只需更改home/后面的数字即可。由于每页显示的为22首歌曲,所以总共需要23个URL。

import requests
from bs4 import BeautifulSoup
from time import sleep
import pymongo
#连接数据库
client = pymongo.MongoClient(‘localhost',27017)
mydb = client[‘yourdb']
#创建数据库
musicTop = mydb[‘musicTop']

#使用header是用于伪装为浏览器,让爬虫更稳定
Headers = {
‘User-Agent': ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'
}
#定义获取信息的函数
def get_info(url):
wd_data = requests.get(url,headers=Headers)
soup = BeautifulSoup(wd_data.text,‘lxml')
#获取排名情况
ranks = soup.select(‘span.pc_temp_num')
#获取标题
titles = soup.select(‘div.pc_temp_songlist > ul > li > a')
#获取时间
times = soup.select(‘span.pc_temp_tips_r > span')
for rank,title,time in zip(ranks,titles,times):
data = {
‘rank':rank.get_text().strip(),
‘singer':title.get_text(),
‘song':title.get_text(),
‘time':time.get_text().strip()
}
musicTop.insert_one(data) #存入数据库中
if name == ‘main':
urls = [‘http://www.kugou.com/yy/rank/home/{}-8888.html'.format(number) for number in range(1,24)]
for url in urls:
get_info(url)
sleep(2)

运行后,爬取的数据在mongoDB数据库中显示如下:

以上这篇python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python结合shell自动创建kafka的连接器实战教程

    python结合shell自动创建kafka的连接器实战教程

    这篇文章主要介绍了python结合shell自动创建kafka的连接器,需要安装连接oracle的python包,获取oracle表信息,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python 恐龙跑跑小游戏实现流程

    Python 恐龙跑跑小游戏实现流程

    大家好,本篇文章主要讲的是用python实现谷歌小恐龙小游戏,看看这是你断网时的样子么,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python之京东商品秒杀的实现示例

    Python之京东商品秒杀的实现示例

    这篇文章主要介绍了Python之京东商品秒杀的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python处理excel根据全称自动填写简称

    Python处理excel根据全称自动填写简称

    这篇文章主要为大家详细介绍了Python处理excel根据全称自动填写简称,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • 使用NumPy读取MNIST数据的实现代码示例

    使用NumPy读取MNIST数据的实现代码示例

    这篇文章主要介绍了使用NumPy读取MNIST数据的实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python与php实现分割文件代码

    python与php实现分割文件代码

    本文给大家分享的是两个分别使用python和php实现的将文件分割成小文件的代码,非常的实用有需要的小伙伴可以参考下
    2017-03-03
  • 使用python进行图片的文字识别详细代码

    使用python进行图片的文字识别详细代码

    Tesseract OCR是一款由Google团队开发的开源OCR引擎,用于将图片、PDF 等格式中的文本转换为可编辑的文本格式,本文主要介绍了Python进行图片的文字识别功能OCR的相关知识,需要的朋友可以参考下
    2023-05-05
  • 使用python实现省市三级菜单效果

    使用python实现省市三级菜单效果

    本文给大家分享的是使用使用python实现省市三级菜单效果的代码,非常的实用,有需要的小伙伴可以参考下。
    2016-01-01
  • Python机器学习应用之支持向量机的分类预测篇

    Python机器学习应用之支持向量机的分类预测篇

    最近完成的一个项目用到了SVM,之前也一直有听说支持向量机,知道它是机器学习中一种非常厉害的算法。利用将近一个星期的时间学习了一下支持向量机,把原理推了一遍,感觉支持向量机确实挺厉害的,这篇文章带你了解它
    2022-01-01
  • python创造虚拟环境方法总结

    python创造虚拟环境方法总结

    在本篇内容里我们给大家整理了关于python创造虚拟环境的详细方法和步骤,需要的朋友们学习下。
    2019-03-03

最新评论