使用twitter应用程序api和neo4j构建tweets图

nts-skazazes的Python项目详细描述


Neo4J TwitterAPI拖缆

将与术语列表相关的tweets写入图形数据库。使用twitter应用程序api和neo4j

设置

从pypi安装

pip install nts-skazazes

状态

尽管传入的twitter api流可以成功地写入neo4j数据库,但是程序中没有错误处理,因此表单使用的包没有得到正确处理,导致程序崩溃。也就是说,如果配置正确,pro似乎可以正常工作。

NTS的工作原理

nts使用tweepy“流”从twitter应用程序api接收与指定的术语列表相关的实时tweets。NTS然后使用py2neo包将这些tweets添加到带有相关数据的neo4j图中。

tweet s、users、tweet sources、url和hashtags都被构造成py2neo节点(边),并在提交到图之前为它们分配了相关的关系(顶点)。提交时,将使用neo4j merge来聚合所有内容

图形模型

图形模式与官方的“俄罗斯巨魔”neo4j沙箱中使用的模式非常相似,添加了用户转发->;用户关系,删除了巨魔节点和关联关系。

Graph Schema

配置

有两种配置方法:

  1. 通过从confighandler模块导入config类,可以使用set-settings方法(需要具有与ini文件中的设置等效的键的字典)或单个setter方法。如果使用此替代方法,则必须在初始化其他包对象之前调用settings方法,因为它们依赖于这些设置。

  2. 您可以直接向graphhandler和twitterstreamhandler提供一个字典,其中包含与ini文件中的设置等效的键。

推特

为了使用twitter api,用户需要在dev.twitter.com以twitter应用程序开发人员的身份进行应用(根据我所知,应用程序可以立即被接受),然后在开发人员仪表板中注册一个应用程序。创建应用程序后,导航到它的“密钥和令牌”页面并生成所需的密钥/令牌。

neo4j

用户还必须能够访问neo4j服务器。这可以位于本地计算机上,也可以位于远程服务器上应用了需要正确设置的远程计算机上,以允许入站远程连接。我已经测试了本地和远程服务器实例,但只使用neo4j的二进制协议“bolt”;有一个http和http s协议可用,应该可以正常工作,但我从未使用过它,所以ymmv。使用的协议是通过用户提供的neo4j_主机设置来确定的。一个螺栓示例是'bolt://xxx.xxx.xxx.xxx:7687'

应用程序还需要一个可以访问服务器的用户,我建议一个仅用于应用程序,另一个用于用户在Web仪表板上使用,因为我在共享同一帐户时遇到了授权问题。

所需设置如下:
{'API_KEY':'Consumer API Key''API_SECRET':'Consumer API Secret Key''ACCESS_TOKEN':'Access Token''ACCESS_TOKEN_SECRET':'Access Token Secret''NEO4J_HOST':'Neo4J Server Access URL (Only Bolt connections have been tested)''NEO4J_USER':'Neo4J Username''NEO4J_PASSWORD':'Neo4J Password''NEO4J_PORT':'Neo4J Port''NEO4J_SCHEME':'Neo4J Scheme (http, https, bolt)'}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException