1. 程式人生 > >爬蟲入門,爬取酷狗歌單top500,簡單爬蟲案例

爬蟲入門,爬取酷狗歌單top500,簡單爬蟲案例

import requests
from bs4 import BeautifulSoup
import time

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}


def get_info(url):
    wb_data = requests.get(url, headers=headers)
    soup = BeautifulSoup(wb_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().split('-')[0],
            'song': title.get_text().split('-')[-1],
            'time': time.get_text().strip()
        }
        print(data)


if __name__ == '__main__':
    urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1, 24)]
    for url in urls:
        get_info(url)
        time.sleep(1)

1

匯入程式需要的庫

Requests庫用於請求網頁

獲取網頁資料

BeautifulSoup用於解析

頁數據。time庫的sleep()

方法可以讓程式暫停。

2

通過Chrome瀏覽器的開發者工具,複製User-Agent,用於偽裝為瀏覽器,便於爬蟲的穩定性。

3

定義get_info()函式,用於獲取網頁資訊並輸出資訊。

4

為程式的主入口。