MeetUp是一个社交媒体网站, 允许成员形成虚拟社区, 这些社区在其本地地理区域内组织活动。 MeetUp的概念并不是什么新鲜事物, 但是UI和UX近年来是最具创新性的。简化组织特定于社区, 每天, 每周, 每月或每两个月开会的活动的任务变得更加容易。
MeetUp的API允许用户直接从网站收集数据。像大多数API一样, 许多域所有者都限制了你可以调用的数据量。某些域在维护其API文档方面做得不好。有些人在使文档尽可能易于使用方面做得非常出色。 MeetUp在中间。你可以通过多种方式使用其API。
我使用MeetUp的API是从德克萨斯州北部达拉斯-沃思堡地区的三个不同组收集数据。我用来在MeetUp的域上访问API的语言是Python。根据你的习惯, C ++或Python足以使用网站的API。
如果你还不熟悉Python, 请务必阅读我们的Python数据科学入门课程。
在本教程中, 你将学习如何使用Python调用MeetUp的API。我将展示如何获取组的ID, 以及如何将该ID与API密钥结合使用, 以JSON格式请求组的数据。最后, 我将演示如何将捕获的数据写入JSON文件, 该文件将保存在PC / Mac上。
你如何获取API密钥?
在MeetUp的网站上, 你必须具有有效的帐户才能获取API密钥。网站上的所有用户都将获得一个密钥。对于我们这些没有帐户的人, 第一步是在MeetUp上注册一个帐户。完成后, 你可以在此处获取API密钥。
你可以选择随时重置密钥。请务必对API密钥保密。
入门
首先, 你要导入所有将在简单py脚本中使用的Python库。
import meetup.api
import json
import requests
import time
import codecs
import sys
import io
安装API
在继续运行此输入之前, 请确保在你的计算机上安装了metup.api。如果你使用的是基于UNIX的命令提示符, 则只需执行简单的pip安装即可:
pip安装meetup.api
如果使用Jupyter Notebook, 则可以按以下方式安装库:
!pip安装metup.api
这将安装MeetUp的Python API库。
由于Python是一种解释性语言, 因此定义在语法中起着重要的作用。例如, 通过定义客户端, 你现在可以编写任何请求, 并仅使用术语客户端来调用API密钥, 因此无需连续重新键入API密钥。这是使用Python进行编码的重要方面。首先, 将你的API密钥定义为客户端, 如下所示:
client = meetup.api.Client('API Key Here')
定义group_info允许你根据MeetUp网站上的群组名称提取群组的url。
group_info = client.GetGroup({'urlname': 'Group Name Here No Spaces'})
获取组的ID
完成此操作后, 你现在可以调用group_info, 并对其发出多个请求。通过输入行group_info.link, 输出将是该组的完整URL地址。
group_info.link
在下一行中调用group_info.id将获得组的ID号。
group_info.id
你希望该组的ID号能够继续进行下一步。
发出请求
现在你知道了组的ID号。你可以通过定义df来拉取请求, 并将你的组ID和API密钥插入网址。这称为request.get
df = requests.get('https://api.meetup.com/2/members?group_id=GROUP_ID&key=API_KEY')
定义df后, 你现在可以调用status_code, 标头, 编码, 并且可以通过调用json直接查看数据。
首先, 你将输入df.status_code, status_code的输出应为:200
对于标题, 请键入df.headers [‘content-type’]标题的输出:application / json; charset = utf-8
要检查编码类型, 请输入df.encoding进行编码:utf-8
至此, 你定义为df的数据存在。要内联查看, 请输入df.json()
将数据写入JSON文件
此时你已经有了数据。接下来, 你将数据写入一个json文件中, 该文件保存到你的PC / MAC中。这是重要的一步。你已经有了数据, 但是没有将其保存在本地硬盘驱动器上。你可以使用以下代码将数据写入文件。
try:
to_unicode = unicode
except NameError:
to_unicode = str
with io.open('df.json', 'w', encoding='utf8') as outfile:
str_ = json.dumps(data, indent=4, sort_keys=True, separators=(', ', ': '), ensure_ascii=False)
outfile.write(to_unicode(str_))
在运行此程序之前, 请通过运行import io导入io库。
运行此代码后, 它将使用MeetUp的API将”请求”拉取中的数据写入保存在硬盘目录中的JSON文件中。专门位于与你使用的.ipynb或.pyfile相同的目录中。
如果你使用的是Jupyter Notebook, 则按照上次修改的顺序在Jupyter Notebook上组织目录时, 应该能够立即找到它。随时将其保存到更方便的位置以备将来使用。
JSON文件有什么用途? JSON文件包含你使用MeetUp的API提取的数据。你可以通过多种方式使用此数据。如果数据缺少值, 则可以使用Python清除数据。你可以构建数据集并应用多种技术来进行数据分析。或者, 你可以可视化数据并构建仪表板和图形以显示数据集中的相关性。最后, 良好的数据集可用于应用机器学习算法来构建预测模型。这些是你可以使用我们通过MeetUp API编写的JSON文件的一些功能。你唯一的限制是你的想象力。总之, 从网站的API中提取数据是获取数据集的多种方法之一。最终目标是在数据分析, 建模和可视化中充分利用数据集。
总结
总之, 使用MeetUp的API提取数据需要几个步骤。第一步是找到并标识你的API密钥, 下一步是获取所需组的ID。利用此信息, 你可以从任何你喜欢的组中提取数据。提出拉取请求后, 你需要将其写入JSON文件。知道如何将API用作工具是收集数据的有用且经济高效的方式。你正在收集可以在将来的项目中使用的数据。与其他方法(例如数据抓取)相比, 使用网站的API通常是最非侵入性的方法。有了JSON文件后, 仍然需要进行处理。你仍然需要清除数据。作为初学者, 你需要了解术语清洁数据。清理数据是在组织数据集时使数据集的列和行不丢失的情况。你将查看缺少的数字数据和分类数据(名称, 位置等)。现在, 你有了工具, 可以开始从MeetUp的API中提取数据。
在开始使用从API请求的数据之前, 你必须清除数据。如果你想学习方法, 请务必参加我们的Python清洗数据课程。
使用网站的API时, 请注意使用API的限制。域所有者自行设置这些规则。练习自我意识并保持认真。
评论前必须登录!
注册