步步分析爬取知乎使用者頭像

2021-08-15 16:27:03 字數 1194 閱讀 2103

知乎是個練習爬蟲的好地方,可以找到很多資源,還能挑戰一下反爬蟲機制。剛開始不懂得ajax的時候真的拿這些動態載入的網頁沒有辦法,只好退一步,用selenium+chromedriver寫一些簡單的程式,這樣做雖然簡化了開發過程,但是總是覺得效率很低,而卻方式不太優雅,只是呼叫瀏覽器去做著做那,遇到異常還不好處理。

首先希望你用的是火狐或者是谷歌瀏覽器,並且會使用f12的開發者工具,我們先隨意找乙個關注著很多的使用者,然後點開他的關注者頁面

隨意找乙個有頭像的使用者,右鍵審查元素

先認識一下知乎儲存頭像的url,我們的目標就是拿到類似於這樣的鏈結

接下來以火狐瀏覽器為例,把從f12工具欄裡檢視抓取的請求,這裡僅需要檢視型別為xhr的請求即可,這種型別的請求往往就是通過非同步請求獲取的json資料

我們根據請求名稱猜測,那個有followers的json資料就是我們要的東西,點開就能看到請求頭,還有響應內容

其中data欄位裡面的0-19就是本頁面中顯示的20個關注者,展開可以看到每個關注者的資訊

可以很明顯的知道該使用者的暱稱、id和頭像等資訊,注意截圖的第一行就是他頭像的鏈結了,複製該鏈結,把後面那個"_"去掉(即就可以從瀏覽器上之間看到他的頭像大圖了,然後我們把這個過程用**實現就可以了。

api:

以上是獲取關注者的url,修改最後的offset的值可以實現翻頁,如翻到第二頁(offset=40)

下面是構建請求的過程,直接用python傳送get請求會被知乎攔截,然後嘗試新增headers資訊,還是不行,最後加上自己已經登入進去的cookie就可以了

用react模仿知乎的使用者頭像裁剪元件

前段時間刷知乎的時候,更換換了下頭像,突然發現知乎頭像編輯器很簡潔酷炫,於是乎就用react嘗試模仿做乙個元件。知乎上的這個是用canvas處理的,但是用div做也是可以,簡單的布局一下,其實就是用幾個div而已,但是呢,有個點我這裡的。陰影層下的跟清晰的是兩張,只是用top,left定位讓這兩張看...

用scrapy框架爬取映客直播使用者頭像

1.建立專案 scrapy startproject yingke cd yingke 2.建立爬蟲 scrapy genspider live 3.分析網頁的response,找到響應裡面資料的規律,並找到的位置,通過response.xpath 獲取到 4.通過在pipline裡面進行資料的清洗...

爬去知乎分析

目前還在進行階段 我的目的是爬去知乎熱榜五十的回答,分為只爬去靜態返回的頁面和爬去非同步返回的資料。首先開始查詢知乎前五十需要登入,但是我並不想處理登入。分析一波 先用瀏覽器登入一下進去,記住密碼,之後再進入頁面知乎就可以,這是為什麼?猜想可能是將密碼儲存在cookie裡面的,於是f12在cooki...