Python 缩短的URL需要随机化
我有下面的代码,它几乎可以正常工作。三个URL被缩短,然后放入三条不同推文的内容中,然后提交给twitter。但是,每次缩短URL时,缩短的URL都是相同的。正因为如此,twitter垃圾邮件过滤器一直在捕获tweet 有没有一种方法可以通过使用import tinyurl或其他完全不同的方法来随机显示缩短的URL来阻止这种情况的发生Python 缩短的URL需要随机化,python,twitter,tinyurl,Python,Twitter,Tinyurl,我有下面的代码,它几乎可以正常工作。三个URL被缩短,然后放入三条不同推文的内容中,然后提交给twitter。但是,每次缩短URL时,缩短的URL都是相同的。正因为如此,twitter垃圾邮件过滤器一直在捕获tweet 有没有一种方法可以通过使用import tinyurl或其他完全不同的方法来随机显示缩短的URL来阻止这种情况的发生 import simplejson import httplib2 import twitter import tinyurl print("Python wi
import simplejson
import httplib2
import twitter
import tinyurl
print("Python will now attempt to submit tweets to twitter...")
try:
api = twitter.Api(consumer_key='',
consumer_secret='',
access_token_key='',
access_token_secret='')
for u in tinyurl.create('http://audiotechracy.blogspot.co.uk/2014/03/reviewing-synapse-antidote-rack.html',
'http://audiotechracy.blogspot.co.uk/2014/03/free-guitar-patches-for-propellerhead.html',
'http://audiotechracy.blogspot.co.uk/2014/02/get-free-propellerhead-rock-and-metal.html',
):
print u
linkvar1 = u
linkvar2 = u
linkvar3 = u
status = api.PostUpdate("The new Synapse Antidote Rack Extension:" + linkvar1 + " #propellerhead #synapse")
status = api.PostUpdate("Free Propellerhead guitar patches for everyone!" + linkvar2 + " #propellerhead #reason #guitar")
status = api.PostUpdate("Free Metal and Rock drum samples!" + linkvar3 + " #propellerhead #reason)
print("Tweets submitted successfully!")
except Exception,e:
print str(e)
print("Twitter submissions have failed!!!")
感谢当您循环通过
tinyurl.create
的结果时,您每次都将其分配给所有三个linkvar
变量,因此当循环结束时,所有三个变量都将等于u
的最后一个值
如果您总是要处理相同数量的URL,则可以将它们显式分配给变量:
linkvar1, linkvar2, linkvar3 = tinyurl.create(
'http://audiotechracy.blogspot.co.uk/2014/03/reviewing-synapse-antidote-rack.html',
'http://audiotechracy.blogspot.co.uk/2014/03/free-guitar-patches-for-propellerhead.html',
'http://audiotechracy.blogspot.co.uk/2014/02/get-free-propellerhead-rock-and-metal.html',
)
如果URL的数量可能会改变,那么最好使用列表
并为所需结果编制索引:
linkvars = tinyurl.create(
'http://audiotechracy.blogspot.co.uk/2014/03/reviewing-synapse-antidote-rack.html',
'http://audiotechracy.blogspot.co.uk/2014/03/free-guitar-patches-for-propellerhead.html',
'http://audiotechracy.blogspot.co.uk/2014/02/get-free-propellerhead-rock-and-metal.html',
)
status = api.PostUpdate("The new Synapse Antidote Rack Extension:" + linkvars[0] + " #propellerhead #synapse")
status = api.PostUpdate("Free Propellerhead guitar patches for everyone!" + linkvars[1] + " #propellerhead #reason #guitar")
...
很抱歉,当我意识到他们需要缩进时,网站出于某种原因允许我编辑帖子…基本上他们应该在for循环中使用。这样,u的第一个实例将被馈送到第一条tweet,第二条馈送到第二条tweet,第三条馈送到第三条tweet。问题是tinyurl生成的url总是相同的,因为被缩短的链接总是相同的。网站本身有一个自定义域选项,可以解决这个问题,但我找不到任何关于如何编码的示例语法。如果您提供的代码不正确,请更新它。实际上,您在三个缩短的url之间循环:第一个分配给所有3个
linkvars
,然后第二个分配给所有3个linkvars
等。循环完成后,所有3个linkvars
等于最后一个缩短的url。你试过我上面提出的第一个建议了吗?当我运行它时,我得到了3个不同的tinyurl分配给变量。@matthewtrevor…如上所述,我不能…由于某些原因,我无法再在上编辑代码,所以…我不知道这是浏览器问题还是网站问题。可能是