爬蟲入門,爬取酷狗歌單top500,簡單爬蟲案例
阿新 • • 發佈:2018-12-16
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)
為程式的主入口。