用于 Twitter HTML 的 Zapier Python 或 Javascript 代码

Posted

技术标签:

【中文标题】用于 Twitter HTML 的 Zapier Python 或 Javascript 代码【英文标题】:Zapier Python or Javascript Code for Twitter HTML 【发布时间】:2018-07-04 08:12:10 【问题描述】:

我正在使用 Zapier 在 Twitter 上运行搜索,创建每日结果摘要 (Zapier Digest),并将摘要发送到邮件列表 (Mailgun)。我寻求将推文格式化为类似于 Twitter 自己的电子邮件,其中推文不是文本,而是 html,其中任何用户提及(@name,相应的 URL 是 https://twitter.com/[NAME])和推文中的 URL 是实际链接。 (我不希望任何主题标签的转换。)

这种搜索、提取和替换(添加了 HTML)并不难。但是对于 Zapier 简单的 Formatter 文本功能来说,它太多了。所以我转向 Zapier Code 行动,认为我可以借用代码,因为我不是铁杆程序员

我发现 Python 代码如下(以及该站点上的其他代码)。经过几个小时的测试,我已经放弃了能够成功地调整它以在 Zapier Code 中使用。 Zapier 在如何使用 Python 方面存在限制。他们的文档很原始。

这里有熟悉 Zapier 的人可以帮我转换那个(或类似的)代码,以便我可以在 Zapier Python 或 javascript 上运行它吗?我真的很感激。

谢谢你, 马克


https://coderwall.com/p/wdtkhw/convert-links-username-mentions-and-hashtags-in-a-tweet

function twitterify($ret) 
    $ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
    $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
    $ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $ret);
    $ret = preg_replace("/#(\w+)/", "<a href=\"http://twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $ret);
    return $ret;


【问题讨论】:

【参考方案1】:

David 来自 Zapier 平台团队。

Marc,您的主要问题是您在我们的 Python 解释器中使用了 php sn-p,这可能就是它给您带来麻烦的原因。如果您有具体问题或我们可以改进我们的文档,请务必告诉我!

我会改为查看 python re.sub() 函数。有一个很好的答案here。您还希望能够测试您的正则表达式,其中有一个 great site(因为 PHP 和 Python 正则表达式之间有一些 sleight differences。如果您想了解更多关于Python 语言。

​如果您还有其他问题,请告诉我!

【讨论】:

【参考方案2】:

大卫,

关于文档,帮助页面面向具有 Python 或 Javascript 经验的人。我不。以下内容会有所帮助。

代码内注释。在大多数情况下,帮助只是说明了示例的作用并显示了代码。它没有解释每一行代码的作用。 帮助实际上跳到高级示例,例如逗号 分开的列表。更基本的例子将提供更坚实的基础 对于像我这样的新手。

我继续测试,并根据上面的 sn-p 为 Zapier Python 编写了以下代码。虽然它执行没有错误(进度!),但它没有更改输入数据测试推文中的@user 或 URL。

马克

import re
tweetHTML = re.sub('/@(\w+)/', '<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>', input_data ['tweet'])
tweetHTML = re.sub('#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#', '\\1<a href=\"\\2\" target=\"_blank\">\\2</a>', tweetHTML)
tweetHTML = re.sub('#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#', '\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>', tweetHTML)
return 'tweetHTML': tweetHTML

【讨论】:

以上是关于用于 Twitter HTML 的 Zapier Python 或 Javascript 代码的主要内容,如果未能解决你的问题,请参考以下文章

Zapier 代码 (JS) + Twitter API - 发布收藏夹/创建

如何使用 Zapier 的 Twitter API 进行身份验证?

Zapier 代码 (JS) + Twitter API - POST statuses/retweet/:id

如何在 Zapier 代码中发布推文

如何将 RoamResearch 连接到 Zapier?

Mongodb Atlas 连接字符串不适用于 Zapier