溫馨提示×

溫馨提示×

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

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

python爬蟲怎么采集知乎信息匯總

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

小編給大家分享一下python爬蟲怎么采集知乎信息匯總,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在沒有學習python之前,對于數據的提取只局限于復制、粘貼之后的保存,一步步的人工操作還是很慢的?,F在的小編已經能夠寫代碼去從網頁上獲取自己想要的內容了,學習成果方面還是有顯著的變化。不知道小伙伴們是不是都會呢?本篇小編就以知乎的數據采集為例,讓大家也練練手。

打開知乎首頁-->登陸-->搜索到一個大V,用谷歌瀏覽器分析點擊關注了哪些人后的請求,通過分析:查找他關注的人的請求鏈接:

https://www.zhihu.com/api/v4/members/excited-vczh/followees?include=data%5B

python爬蟲怎么采集知乎信息匯總

 

通過觀察嘗試分析后可知:offset=40是偏移量,通過改變這個值可以實現分頁的效果。

知乎是做了反爬蟲的措施的,所以我們要想爬取知乎信息,還必須要設置請求頭,下面我們來分析請求頭:

python爬蟲怎么采集知乎信息匯總

 

圖片中紅箭頭所指就是請求必須需要的值,

authorization:是身份認證信息,每個用戶登錄后都會產生各自的身份認證信息。

User-Agent:是驗證請求是來自正常的瀏覽器訪問

 

最終代碼如下:

import requests
import pandas as pd
import time
headers={
    'authorization':'',#此處填寫你自己的身份驗證信息
    'User-Agent':''#此處填寫你自己瀏覽器的User-Agent
}
user_data = []
def get_user_data(page):
    for i in range(page):#翻頁
        url = 'https://www.zhihu.com/api/v4/members/excited-vczh/followees?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)
        response = requests.get(url, headers=headers).json()['data']
        user_data.extend(response) #把response數據添加進user_data
        print('正在爬取第%s頁' % str(i+1))
        time.sleep(1) #設置爬取網頁的時間間隔為1秒
 
if __name__ == '__main__':
    get_user_data(10)
    df = pd.DataFrame.from_dict(user_data)#以字典保存數據
    df.to_csv('zhihu.csv',encoding='utf_8_sig')#保存到用戶名為zhihu的csv文件中,encoding='utf_8_sig'參數是為了解決中文亂碼的問題
    print(df)

以上是python爬蟲怎么采集知乎信息匯總的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

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