Python中如何抓取now直播房间信息的API接口?
用了 fiddler 和 charles 都抓不到
Python中如何抓取now直播房间信息的API接口?
1 回复
要抓取NOW直播的房间信息,你需要分析其网页或APP的API请求。通常这类平台会通过JSON接口提供数据。这里是一个使用requests库抓取API的通用示例:
import requests
import json
def fetch_now_live_rooms():
# 1. 找到目标API接口(需要自行分析网络请求)
# 示例URL(非真实地址,仅作演示)
api_url = "https://api.now.com/live/rooms"
# 2. 设置请求头模拟浏览器访问
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Referer": "https://now.com/live"
}
# 3. 发送GET请求
try:
response = requests.get(api_url, headers=headers, timeout=10)
response.raise_for_status() # 检查HTTP错误
# 4. 解析JSON数据
data = response.json()
# 5. 提取房间信息(根据实际API结构调整)
rooms = data.get("data", {}).get("rooms", [])
for room in rooms:
print(f"房间ID: {room.get('room_id')}")
print(f"主播: {room.get('anchor_name')}")
print(f"标题: {room.get('title')}")
print(f"在线人数: {room.get('online_count')}")
print("-" * 40)
return rooms
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return []
except json.JSONDecodeError:
print("JSON解析失败")
return []
if __name__ == "__main__":
fetch_now_live_rooms()
关键步骤说明:
- 找到真实API:用浏览器开发者工具(F12)的Network标签监控XHR请求,查找包含房间数据的接口
- 处理反爬机制:可能需要添加
Cookie、Authorization等头部信息 - 分页处理:如果数据分页,需要循环请求带
page参数的接口
实际使用时需要:
- 替换为真实的API端点
- 根据实际响应结构调整数据提取逻辑
- 可能需要处理登录态或加密参数
建议先手动分析清楚接口规律再写代码。

