用于 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 进行身份验证?