爬蟲綜合大作業

2022-09-19 07:00:13 字數 2749 閱讀 2167

通過瀏覽器的檢查元素

要想爬取這些資料,就必須在使用requests庫時設定好請求的頭部(headers)特別是cookie。

接下來開始分析:

首先是找到網易雲**歌手網頁:

在左側我們可以看到歌手的分類,每個分類都對應乙個url的id引數,同一類歌手又通過歌手名字的首字母進行排序,對應url中的initial引數。這裡以華語歌手,a打頭的網頁的url為例。

因此我們只需要改變**中的id和initial引數的值便可以將網易雲**上所有的歌手資訊爬取下來。

1 ls1 = [1001, 1002, 1003, 2001, 2002, 2003, 6001, 6002, 6003, 7001, 7002, 7003, 4001, 4002, 4003]    #

id的值

2 ls2 = [-1, 0, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90] #

initial的值

3for i in

ls1:

4for j in

ls2:

5 url = '

' + str(i) + '

&initial=

' + str(j)

這裡我們建立兩個列表來儲存id和initial的值,從而構建爬取全部歌手資訊的網頁url。

接著我們開始設定請求的頭(即headers的值),開啟瀏覽器的開發者工具欄(滑鼠右鍵點選檢查),點選network,再點選doc,找到原始請求返回的檔案(即**對應的檔案),點選headers,裡面有request headers,把裡面的值全部設定為請求的頭部的值。

一定不能漏了cookie的值。

1

import

requests

2from bs4 import

beautifulsoup

3import

csv456

#建構函式獲取歌手資訊

7def

get_artists(url):

8 headers=

24 r = requests.get(url, headers=headers)

25 soup = beautifulsoup(r.text, '

html5lib')

26for artist in soup.find_all('

a', attrs=):

27 artist_name =artist.string

28 artist_id = artist['

href

'].replace('

/artist?id=

', ''

).strip()

29try:30

writer.writerow((artist_id, artist_name))

31except

exception as msg:

32print

(msg)

3334

35 ls1 = [1001, 1002, 1003, 2001, 2002, 2003, 6001, 6002, 6003, 7001, 7002, 7003, 4001, 4002, 4003] #

id的值

36 ls2 = [-1, 0, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90] #

initial的值

37 csvfile = open('

f://歌手資訊.csv

', '

a', encoding='

utf-8

') #

檔案儲存的位置

38 writer =csv.writer(csvfile)

39 writer.writerow(('

artist_id

', '

artist_name'))

40for i in

ls1:

41for j in

ls2:

42 url = '

' + str(i) + '

&initial=

' +str(j)

43 get_artists(url)

view code

至此利用python爬取網易雲**全部歌手資訊的爬蟲就完成了,這裡我把資訊儲存成了csv 檔案。來看一下結果:

爬蟲綜合大作業

一 爬蟲物件 豆瓣電影裡面喜劇片的排行榜 二 如下 設定了多個user agent,模擬成真實的瀏覽器去提取內容 抓取電影的資訊 獲取索引頁 def get index page url try headers response requests.get url,headers headers re...

爬蟲綜合大作業

作業要求來自 滿天星辰的夜晚,他們相遇了 夏天的時候,她慢慢的接近他,關心他,為他付出一切 秋天的時候,兩個人終於如願的在一起,分享一切快樂的時光但終究是快樂時光短暫,因為杰倫必須出國深造,兩人面臨了要分隔兩地的狀況,分隔兩地的愛情總是難以維繫長久,在冬天他們選擇分手。從前從前 那帶著痛徹心扉的氣味...

爬蟲大作業

1 選乙個自己感興趣的主題。2 用python 編寫爬蟲程式,從網路上爬取相關主題的資料。3 對爬了的資料進行文字分析,生成詞云。4 對文字分析結果進行解釋說明。5 寫一篇完整的部落格,描述上述實現過程 遇到的問題及解決辦法 資料分析思想及結論。6 最後提交爬取的全部資料 爬蟲及資料分析源 impo...