我使用这个代码:
import tweepy
from tweepy.api import API
import urllib
import os
i = 1
consumer_key="xx"
consumer_secret="xx"
access_token="xx"
access_token_secret="xx"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.secure = True
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
class MyStreamListener(tweepy.StreamListener):
def __init__(self, api=None):
self.api = api or API()
self.n = 0
self.m = 10
def on_status(self, status):
if 'media' in status.entities:
for image in status.entities['media']:
global i
#picName = status.user.screen_name
picName = "pic%s.jpg" % i
i += 1
link = image['media_url']
filename = os.path.join("C:/Users/Charbo/Documents/Python/",picName)
urllib.urlretrieve(link,filename)
#use to test
print(status.user.screen_name)
else:
print("no media_url")
self.n = self.n+1
if self.n < self.m:
return True
else:
print ('tweets = '+str(self.n))
return False
def on_error(self, status):
print (status)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth, MyStreamListener(),timeout=30)
myStream.filter(track=['#feelthebern'])
我正在尝试访问字典中“照片”下的媒体url。但我得到了以下错误:“dict”对象没有属性“media”。如果您能帮助我浏览JSON,我将不胜感激。
提前谢谢!
这个答复可能有点晚了,但我相信有一天其他人会发现它很有用。实际上,我不想转发任何包含视频的推特。所以我构建了这个函数。。。。而且它工作得很好。
def on_status(self, status):
#Ignores the tweet so long as I am the Author, or it's a reply to a tweet
if status.in_reply_to_status_id is not None or \
status.user.id == self.me.id:
return
#I only retweet tweets that I haven't yet retweeted. I also don't want to retweet any tweets that are quotes.
if not status.retweeted and not status.is_quote_status:
#Checking whether the tweet has no "media" in it.
if 'media' not in status.entities:
try:
print(status.text)
status.retweet()
time.sleep(40) #Sleep for 40 seconds to avoid limits
except Exception as e:
print("Error on_data %s" % str(e))
print("Error from retweeting")
#If tweet has media, I only retweet a tweet with a photo
elif 'media' in status.entities:
media_details = status.entities['media']
media_details_kind = media_details[0]
#print(vide['type'])
if media_details_kind['type'] == 'photo':
try:
print("It is a photo")
status.retweet()
time.sleep(40)
except Exception as e:
print("Error on_data %s" % str(e))
print("Error from retweeting")
else: #Anything else is a video or GIF. I do nothing.
print("Sorry, this might be a video. Cound't retweet because it is neither a photo nor a text")
print(status.text)
你应该尝试两件事:
tweepy.Cursor(api.search, q="#hashtag", count=5, include_entities=True)
if 'media' in tweet.entities:
for image in tweet.entities['media']:
(do smthing with image['media_url'])
希望这个能帮上忙
我对twitter api有意见。我使用这个脚本脚本删除推文删除推文形成一个帐户。我看到了twitepy方法(api,user_timeline) 不会返回包含媒体的推文(从网站访问推文,它们不会出现在时间线中,但会出现在另一个名为“照片和视频”的选项卡中),因此不会被删除。include_实体不是此方法的参数。 我怎样才能恢复这些推文?我以为我可以用用户名作为查询进行搜索,但那不起作用,而且效率
一般来说,我需要得到所有的用户媒体。 用户有超过250张照片。 但它只返回20张照片。 也许instagram获得媒体是有限制的。如果是,响应有一个分页来解决它。但只有max的身份证照片。怎么知道第一张(最小)身份证照片然后分页呢?
在8.1节中提到过,通过getMediaFileSystems方法获取到的fileSystem中的root属性值就是Entry对象,结合第7章的内容就可以对媒体库中的文件进行操作。 通过getMetadata方法可以读取出媒体文件相关信息1: chrome.mediaGalleries.getMetadata(mediaFile, {metadataType: 'all'}, function(m
如果在Manifest中声明了了"allAutoDetected"权限,则Chrome应用可以无需用户手动指定,自动获取到媒体库的位置。 通过getMediaFileSystems方法可以获取到媒体库对应的fileSystem: chrome.mediaGalleries.getMediaFileSystems({ interactive: 'if_needed' }, function(
我有一个应用程序,可以显示来自互联网的图片和视频。现在我正在实现一个“保存”功能,将图片/视频保存到外部或内部存储器中,无需再次下载。 对于图片,我只是用抓取绘图。我如何用Exoplayer2. x/PlayerView中当前缓冲的视频实现同样的效果?我没有找到一个函数。
我正在为WhatsApp使用Twilio沙箱,当我发送一个图像时,我在webhook中收到的有效负载工作正常,我可以获得图像的url,但不能使用音频文件(语音消息)。 我正面临一个音频问题,如果我从WhatsApp发送语音消息,我的webhook中的有效负载不包括音频URL。 这里是有效载荷: 我希望url媒体如下所示: