Python 是一門廣泛應用在數據處理、機器學習、Web 開發等領域的編程語言,其強大的網絡爬蟲功能可以實現爬取各種網站數據。下面將介紹如何使用 Python 爬取知乎用戶數據。
# 導入所需模塊 import requests from lxml import etree import json # 設置請求頭 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36', } # 知乎用戶首頁鏈接 url = 'https://www.zhihu.com/people/username/activities' # 發送 GET 請求獲取頁面數據 html = requests.get(url, headers=headers).text # 使用 lxml 解析頁面數據 content = etree.HTML(html) # 獲取用戶 ID 和用戶名 user_id = content.xpath('//div[@class="ProfileHeader-name"]/text()')[0] username = content.xpath('//div[@class="ProfileHeader-headline"]/text()')[0] # 獲取用戶關注、粉絲和文章數 data = content.xpath('//div[@class="Profile-sideColumnItemValue"]/text()') following, followers, articles = int(data[0]), int(data[1]), int(data[2]) # 將數據存儲為 JSON 格式 result = {'user_id': user_id, 'username': username, 'following': following, 'followers': followers, 'articles': articles} print(json.dumps(result, ensure_ascii=False))
通過上述代碼,我們可以獲取知乎用戶的基本信息,包括用戶 ID、用戶名、關注、粉絲和文章數,并將其存儲為 JSON 格式。
需要注意的是,由于知乎有反爬機制,爬取知乎用戶數據時需要設置請求頭,模擬瀏覽器進行訪問。此外,在爬取時要遵守網站的爬取規則,如不要過于頻繁地進行請求。
上一篇c 把json寫入文件
下一篇python 爬招聘網站