python爬取b站指定用户信息
【代码】python爬取b站指定用户信息。
·
import requests
def search_user(keyword):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
'Referer': 'https://www.bilibili.com/',
'Cookie': 'YOUR_COOKIE_HERE' # 请替换为有效的Cookie
}
params = {
'keyword': keyword,
'search_type': 'bili_user', # 指定搜索类型为用户
'page': 1
}
url = 'https://api.bilibili.com/x/web-interface/search/type'
try:
response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
data = response.json()
print("API响应:", data) # 调试输出
# 检查API返回状态码
if data.get('code') != 0:
print(f"搜索失败:{data.get('message')}")
return None
result_data = data.get('data', {})
if not result_data.get('result'):
print("未找到相关用户")
return None
# 获取用户列表并提取第一个用户的mid
user_list = result_data.get('result', [])
if not user_list:
print("搜索结果为空")
return None
first_user = user_list[0]
uid = first_user.get('mid')
if not uid:
print("用户ID字段缺失")
return None
print(f"找到用户:{first_user.get('uname')},UID:{uid}")
return uid
except requests.exceptions.RequestException as e:
print(f"请求失败:{str(e)}")
return None
def get_user_info(uid):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
'Referer': f'https://space.bilibili.com/{uid}/',
'Cookie': 'YOUR_COOKIE_HERE' # 请替换为有效的Cookie
}
params = {'mid': uid}
url = 'https://api.bilibili.com/x/space/acc/info'
try:
response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
data = response.json()
print("用户信息响应:", data) # 调试输出
if data.get('code') != 0:
print(f"获取信息失败:{data.get('message')}")
return
user_data = data.get('data', {})
print(f"用户昵称:{user_data.get('name')}")
print(f"关注数:{user_data.get('following')}")
print(f"粉丝数:{user_data.get('follower')}")
except requests.exceptions.RequestException as e:
print(f"请求失败:{str(e)}")
def main():
keyword = input("请输入要搜索的用户关键词:")
if uid := search_user(keyword):
get_user_info(uid)
if __name__ == "__main__":
main()
更多推荐
所有评论(0)