Featured image of post Python脚本获取wordpress网站的所有用户信息

Python脚本获取wordpress网站的所有用户信息

WordPress 的 /wp-json/wp/v2/users 接口用于获取网站上的所有用户信息。该接口返回…

WordPress 的 /wp-json/wp/v2/users 接口用于获取网站上的所有用户信息。该接口返回的响应包含以下字段:

  • id:  用户 ID
  • name:  用户名
  • email:  用户电子邮件地址
  • url:  用户个人资料 URL
  • avatar:  用户头像 URL
  • roles:  用户角色
  • registered:  用户注册日期
  • last_login:  用户最后登录日期
  • meta:  用户元数据

以下是一个 Python 脚本获取 wordpress 网站的所有用户信息的示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37


|  | import requests |
| --- | --- |
|  |  |
|  | # 发送 GET 请求获取用户数据 |
|  | response = requests.get('http://your-wordpress-url/wp-json/wp/v2/users') |
|  |  |
|  | # 检查请求是否成功 |
|  | if response.status_code == 200: |
|  | users = response.json()  # 解析 JSON 数据 |
|  | total_users = len(users)  # 获取用户数量 |
|  | print(f"Total Users: {total_users}\n") |
|  |  |
|  | # 遍历每个用户 |
|  | for user in users: |
|  | print("User ID:", user.get('id', 'N/A')) |
|  | print("Name:", user.get('name', 'N/A')) |
|  | print("Username:", user.get('username', 'N/A')) |
|  | print("Email:", user.get('email', 'N/A')) |
|  | roles = user.get('roles', []) |
|  | if roles: |
|  | print("Roles:", ','.join(roles)) |
|  | else: |
|  | print("Roles: N/A") |
|  | avatar_urls = user.get('avatar_urls', {}) |
|  | if avatar_urls: |
|  | print("Avatar URLs:") |
|  | for size, url in avatar_urls.items(): |
|  | print(f"- {size}: {url}") |
|  | else: |
|  | print("Avatar URLs: N/A") |
|  | print("Description:", user.get('description', 'N/A')) |
|  | print("Profile Link:", user.get('link', 'N/A')) |
|  | print("----------------------") |
|  | else: |
|  | print("Failed to retrieve user data. Status code:", response.status_code) |

默认情况下,该接口返回所有用户的信息,包括用户名。如果您想隐藏用户名,可以使用 WordPress 的 show_user_logins 设置。

为了安全起见,您应该限制对该接口的访问。您可以使用 WordPress 的 rest_user_query 过滤器来限制可以访问该接口的用户。

转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用 Hugo 构建
主题 StackJimmy 设计