中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • python3如何實現爬取TOP500的音樂信息并存儲到mongoDB數據庫中

python3如何實現爬取TOP500的音樂信息并存儲到mongoDB數據庫中

發布時間:2021-05-21 10:07:21 來源:億速云 閱讀:144 作者:小新 欄目:開發技術

小編給大家分享一下python3如何實現爬取TOP500的音樂信息并存儲到mongoDB數據庫中,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

爬取TOP500的音樂信息,包括排名情況、歌曲名、歌曲時間。

這里嘗試將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數據庫中

看完了這篇文章,相信你對“python3如何實現爬取TOP500的音樂信息并存儲到mongoDB數據庫中”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金坛市| 武宣县| 东方市| 桂阳县| 铜梁县| 博湖县| 兴隆县| 仙游县| 东乡| 略阳县| 吉首市| 靖江市| 五常市| 英吉沙县| 伊吾县| 泌阳县| 祁连县| 蕲春县| 墨玉县| 望奎县| 修文县| 尖扎县| 青田县| 日喀则市| 营口市| 黄石市| 潞西市| 家居| 综艺| 东丽区| 岚皋县| 台南市| 图木舒克市| 榆树市| 安图县| 桃园市| 临夏县| 衡水市| 兰州市| 仁布县| 紫金县|