python爬蟲例項 爬取歌單

2022-07-12 07:30:13 字數 1730 閱讀 5211

學習自《從零開始學python

爬取酷狗歌單,儲存入csv檔案

直接上源**:(含注釋)

import requests                     #

用於請求網頁獲取網頁資料

from bs4 import beautifulsoup #

解析網頁資料

import time #

time庫中的sleep()方法可以讓程式暫停

import

csv'''

爬蟲測試

酷狗top500資料

寫入csv檔案

'''fp = open('

d:','wt

',newline='',encoding='

utf-8

')#建立csv

writer =csv.writer(fp)

writer.writerow((

'rank

','singer

','song

','time'))

#加入請求頭

headers =

#定義獲取資訊的函式

defget_info(url):

wb_data = requests.get(url,headers=headers)#

get方法加入請求頭

soup = beautifulsoup(wb_data.text,'

html.parser

')#對返回結果進行解析

#定位元素位置並通過selector方法獲取

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 =

writer.writerow((rank.get_text().strip(),title.get_text().split('-

')[0],title.get_text().split('-'

)[0],time.get_text().strip()))

#獲取爬取資訊並按字典格式列印

#print(data)

#程式主入口

if__name__ == '

__main__':

urls = ['

'.format(str(i)) for i in range(1,4)]#

構造多頁url

for url in

urls:

get_info(url)

#迴圈呼叫

time.sleep(1)#

每迴圈一次,睡眠1秒,防止網頁瀏覽頻率過快導致爬蟲失敗

爬蟲例項

瀏覽器:chrome

請求頭獲取方法:

反爬蟲爬取網易雲歌單

一 主題式網路爬蟲設計方案 1.主題式網路爬蟲名稱 爬取網易雲 歌單 2.主題式網路爬蟲爬取的內容與資料特徵分析 3.主題式網路爬蟲設計方案概述 包括實現思路與技術難點 實現思路 使用單執行緒爬取,初始化資訊,設定請求頭部資訊,獲取網頁資源,使用etree進行網頁解析,爬取多頁時重新整理offset...

Python爬蟲例項,爬取小說

import pprint import requests from bs4 import beautifulsoup 獲取原始碼 defget source url r requests.get url if r.status code 200 print r.status code 錯誤 rai...

爬取網易雲歌單

偶爾在微博上看到,要是歌單裡誰的歌超過30首,那肯定是真愛吧。我看了連忙開啟網易雲 我的歌單,結果1000多首歌。這讓我自己數得數到猴年馬月呀.於是萌生出了寫一段小爬蟲來統計的想法。剛開始想直接解析網頁元素,後發現很麻煩,很多資訊不能一次抓取到,於是找到網頁請求的介面,結果介面有加密引數,看了一下j...