目錄
- 一、爬蟲物件-豆瓣音樂TOP250
- 二、python爬蟲代碼講解
- 三、同步視頻
- 四、獲取完整原始碼
一、爬蟲物件-豆瓣音樂TOP250
今天我們分享一期python爬蟲案例講解,爬取物件是,豆瓣音樂TOP250排行榜資料:https://music.douban.com/top250
?
開發好python爬蟲代碼后,爬取成功后的csv資料,如下:
?
代碼是怎樣實作的爬取呢?下面逐一講解python實作,
二、python爬蟲代碼講解
首先,匯入需要用到的庫:
import requests # 發送請求
from bs4 import BeautifulSoup # 決議網頁
import pandas as pd # 存取csv
from time import sleep # 等待時間
然后,向豆瓣音樂網頁發送請求:
res = requests.get(url, headers=headers)
利用BeautifulSoup庫決議回應頁面:
soup = BeautifulSoup(res.text, 'html.parser')
用BeautifulSoup的select函式,(css決議的方法)撰寫代碼邏輯,部分核心代碼:
name = music.select('.pl2 a')[0].text.replace('\n', '').replace(' ', ' ').strip() # 專輯名稱
music_name.append(name)
url = music.select('.pl2 a')[0]['href'] # 專輯鏈接
music_url.append(url)
star = music.select('.rating_nums')[0].text # 音樂評分
music_star.append(star)
star_people = music.select('.pl')[1].text # 評分人數
star_people = star_people.strip().replace(' ', '').replace('人評價', '').replace('(\n', '').replace('\n)',
'') # 資料清洗
music_star_people.append(star_people)
music_infos = music.select('.pl')[0].text.strip() # 歌手、發行日期、型別、介質、曲風
最后,將爬取到的資料保存到csv檔案中:
def save_to_csv(csv_name):
"""
資料保存到csv
:return: None
"""
df = pd.DataFrame() # 初始化一個DataFrame物件
df['專輯名稱'] = music_name
df['專輯鏈接'] = music_url
df['專輯評分'] = music_star
df['評分人數'] = music_star_people
df['歌手'] = music_singer
df['發行日期'] = music_pub_date
df['型別'] = music_type
df['介質'] = music_media
df['曲風'] = music_style
df.to_csv(csv_name, encoding='utf_8_sig') # 將資料保存到csv檔案
其中,把各個list賦值為DataFrame的各個列,就把list資料轉換為了DataFrame資料,然后直接to_csv保存,
這樣,爬取的資料就持久化保存下來了,
需要說明的是,豆瓣頁面上第4、5、6頁只有24首(不是25首),所以總數量是247,不是250,
不是爬蟲代碼有問題,是豆瓣頁面上就只有247條資料,
三、同步視頻
同步講解視頻:【python爬蟲】利用python爬蟲爬取豆瓣音樂TOP250的資料!
四、獲取完整原始碼
附完整原始碼:【python爬蟲案例】利用python爬蟲爬取豆瓣音樂TOP250的資料!
我是 @馬哥python說 ,持續分享python原始碼干貨中!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/556310.html
標籤:其他
上一篇:無縫資料轉換!使用C++ 實作 Excel檔案與CSV之間的相互轉換
下一篇:返回列表