使用新浪微博开放平台api同步微博内容至自己网站( 如何自动将的Twitter信息同步到国内的新浪微博(图))
优采云 发布时间: 2021-12-25 13:28使用新浪微博开放平台api同步微博内容至自己网站(
如何自动将的Twitter信息同步到国内的新浪微博(图))
如何将推特信息自动同步到新浪微博、开心网、人人网等国内SNS网站。有大约一小时的时差。这个时差是由 TwitterFeed 引起的。同时,这种方法的设置比较繁琐,需要多次翻墙。
于是,我开始尝试一种新的同步方式,开发了一个Python程序,可以定时自动读取和同步推特信息,简化同步过程,缩短同步时间,实现基本的实时同步功能。原同步流程图为:推特->appspot->twitterfeed->ping.fm->customurl->火兔->新浪微博,新的同步流程变为:twitter->appspot->火兔->新浪微博,步骤大大简化了,只需在GAE上设置一个定时执行的定时任务即可。
因为 GAE 支持 Cron Job 调度任务,所以我们的 Python 程序可以每分钟自动调用一次。打电话时,首先从推特上抓取用户的最新消息。抓取成功后,消息会同步到听火。然后分发到新浪微博、开心网等,如果设置为每分钟执行一次,同步时差只有一分钟左右,基本实现了Twitter信息实时同步到SNS等网站的功能新浪微博。
我在GAE上调试了程序Python程序,不流畅。我按照官方说明配置了cron.yaml文件,但是更新了Twitter.py后,cron作业计划任务还是不行,后台也看不到相关的cron。工作任务。
经过一番研究,终于解决了GAE中Python的Cron Job定时任务的问题。原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,当时GAE还不支持定时任务。无法更新 cron.yaml 文件。重新下载最新版本的“Google App Engine SDK for Python”并安装后,Cron Job定时任务更新成功。
然而,新的问题又来了。我发现当应用程序调用Twitter API 时,失败率非常高。在几乎一半的情况下,它会提示“超出速率限制。客户端每小时不能发出超过 150 个请求”。。” 这让我怀疑是不是GAE的外部IP很小,有很多第三方程序在GAE上调用Twitter API,导致每小时调用超过150次。不然我自己的调用肯定不会有这么高的频率,可能是因为推特没有把GAE的IP设置为白名单。如果有一天推特不限制GAE的IP,应该没有问题。
安装说明:
下载,用TortoiseSVN查看SVN地址,然后编辑app.yaml,改成你的appspot应用名,然后修改twitter.py文件最后一行改你的推特用户名,嘟嘟火兔用户名和密码分别填写。cron.yaml文件中收录
了定时任务设置,然后就可以按照本文的方法发布,执行appcfg.py更新目录名,使用Gmail账号和密码发布即可。
发布后,GAE 可以定期执行 twitter.py 程序。由于定时执行最小可以设置为1分钟,所以同步速度非常快,基本可以达到实时自动同步的效果。
() ()