溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用python爬蟲收集知乎大V頭像的示例

發布時間:2020-11-21 13:35:18 來源:億速云 閱讀:235 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關用python爬蟲收集知乎大V頭像的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一:請求頭(headers)

每個網站的請求頭都會不一樣,但爬取得網站,都有例子,大家在不初期,跟著選就行

Authorization:HTTP授權的授權證書

User-Agent:代表你用哪種瀏覽器

X-UDID:一串驗證碼

真實的urls

 異步加載中,真實的url并非https://www.zhihu.com/people/feifeimao/followers,真正的url需要我們通過抓包獲取,流程如圖:

 

用python爬蟲收集知乎大V頭像的示例

用python爬蟲收集知乎大V頭像的示例

 

所以我們得出真實url:

https://www.zhihu.com/api/v4/members/feifeimao/followers?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset=20&limit=20

通過加載更多,我們發現url中start隨之同步變化,變化的間隔為20,即offset=20(第一頁),start=40(第二頁),以此類推,所以我們得出.format(i*20),大家可以對比第三篇的翻頁。

三:img_url

我們抓取的img的url需要有序的排列,即采用append函數,依次把他們放入img_url。

四:json

之前我們用得.text是需要網頁返回文本的信息,而這里返回的是json文件,所以用.json

json結構很清晰,大家一層一層選取就好了

取出字典中的值,需要在方括號中指明值對應的鍵

 用python爬蟲收集知乎大V頭像的示例

以下為全部代碼:

# -*- coding: utf-8 -*-
import requests
import json
from urllib.request import urlretrieve
 
headers = {'authorization':'Bearer Mi4xQXN3S0F3QUFBQUFBUUVJSjdTempDaGNBQUFCaEFsVk5BQzRmV3dDVVJzeU9NOWxNU0pZT1BNdFJ5bTlrSzk3MU1B|1513218048|1e03f7e7f26825482a72e4a629ef80292847548e',
           'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
           'x-udid':'AEBCCe0s4wqPToZZF6LV3roAjT8uEikZF1k=',
           }   #請求頭
urls = ['https://www.zhihu.com/api/v4/members/feifeimao/followers?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%2Cis_' \
      'followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset={}&limit=20'.format(i*20) for i in range (0,5)]
img_urls = []   #用來存所有的img_url
for url in urls:
    datas = requests.get(url,headers = headers).json()['data']   #獲取json文件下的data
    for it in datas:
        img_url = it['avatar_url']   #獲取頭像url
        img_urls.append(img_url)      #把獲取的url依次放入img_urls
 
    i = 0   #計數
    for it in img_urls:
        urlretrieve(it,'D://%s.jpg' % i)   #通過url,依次下載頭像,并保存于D盤
        i = i+1   #i依次累加

關于用python爬蟲收集知乎大V頭像的示例就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女