日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python3 實現(xiàn)爬取TOP500的音樂信息并存儲到mongoDB數(shù)據(jù)庫中

系統(tǒng) 2147 0

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

網(wǎng)頁版酷狗不能手動翻頁進行下一步的瀏覽,仔細觀察第一頁的URL:

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

這里嘗試將1改為2,再進行瀏覽,恰好是第二頁的信息,再改為3,恰好是第三頁的信息,多次嘗試發(fā)現(xiàn)不同的數(shù)字即為不同的頁面。因此只需更改home/后面的數(shù)字即可。由于每頁顯示的為22首歌曲,所以總共需要23個URL。

            
import requests
from bs4 import BeautifulSoup
from time import sleep
import pymongo
#連接數(shù)據(jù)庫
client = pymongo.MongoClient(‘localhost',27017)
mydb = client[‘yourdb']
#創(chuàng)建數(shù)據(jù)庫
musicTop = mydb[‘musicTop']

#使用header是用于偽裝為瀏覽器,讓爬蟲更穩(wěn)定
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'
}
#定義獲取信息的函數(shù)
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) #存入數(shù)據(jù)庫中
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)

          

運行后,爬取的數(shù)據(jù)在mongoDB數(shù)據(jù)庫中顯示如下:

python3 實現(xiàn)爬取TOP500的音樂信息并存儲到mongoDB數(shù)據(jù)庫中_第1張圖片

以上這篇python3 實現(xiàn)爬取TOP500的音樂信息并存儲到mongoDB數(shù)據(jù)庫中就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大城县| 盐源县| 舞钢市| 大田县| 榆林市| 玛曲县| 门源| 巧家县| 会东县| 崇阳县| 克东县| 多伦县| 彝良县| 延吉市| 阿克| 北流市| 根河市| 扎囊县| 莱阳市| 浪卡子县| 陆丰市| 鄂托克旗| 雷山县| 乌审旗| 灵寿县| 丹江口市| 虞城县| 嘉义市| 新源县| 铁岭县| 绥中县| 南投市| 三亚市| 北流市| 庆安县| 互助| 湛江市| 钟山县| 连山| 无锡市| 阳江市|