介绍
小编给大家分享一下python3如何实现爬取的外企的音乐信息并存储到mongoDB数据库中,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
爬取的外企的音乐信息,包括排名情况,歌曲名,歌曲时间。
这里尝试将1改为2,再进行浏览,恰好是第二页的信息,再改为3,恰好是第三页的信息,多次尝试发现不同的数字即为不同的页面。因此只需更改home/后面的数字即可。由于每页显示的为22首歌曲,所以总共需要23个URL。
import 请求 得到bs4 import  BeautifulSoup 得到time import 睡眠 import pymongo #连接数据库 时间=client pymongo.MongoClient (' localhost # 39; 27017) 时间=mydb 客户[' yourdb& # 39;] #创建数据库 时间=musicTop mydb [' musicTop& # 39;] #使用头是用于伪装为浏览器,让爬虫更稳定 Headers =, { 的用户代理# 39;:Mozilla/5.0, (Windows NT 10.0;, Win64;, x64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/70.0.3538.67 Safari/537.36 & # 39; } #定义获取信息的函数 def get_info (url): 时间=wd_data requests.get (url,头=标题) 时间=soup BeautifulSoup (wd_data.text, lxml # 39;) #获取排名情况 时间=ranks soup.select (' span.pc_temp_num& # 39;) #获取标题 titles =, soup.select (“div.pc_temp_songlist 祝辞,ul 祝辞,li 祝辞,一个# 39;) #获取时间 times =, soup.select (“span.pc_temp_tips_r 祝辞,跨度# 39;) for 等级、标题、time 拷贝zip(排名、标题、时间): data =, { .strip排名# 39;:rank.get_text () (), “歌手# 39;:title.get_text (), “歌# 39;:title.get_text (), “时间# 39;:time.get_text () .strip () } musicTop.insert_one(数据),#存入数据库中 if name ==,“主要# 39;: 时间=urls [' html -8888. http://www.kugou.com/yy/rank/home/{} # 39; .format(数量),for number 拷贝范围(24)] for url url拷贝: get_info (url) 睡眠(2)
运行后,爬取的数据在mongoDB数据库中显示如下:
看完了这篇文章,相信你对“python3如何实现爬取的外企的音乐信息并存储到mongoDB数据库中”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!