jön*_*ndi 5 python twitter trending tweepy hashtag
我遇到了以下问题:
使用Twitter API和tweepy模块,我想监控趋势主题并从数据中提取主题标签.
这段代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tweepy, json
CONSUMER_KEY = 'key'
CONSUMER_SECRET = 'secret'
ACCESS_KEY = 'key'
ACCESS_SECRET = 'secret'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
trends1 = api.trends_place(1)
print trends1
Run Code Online (Sandbox Code Playgroud)
给我关于全局趋势主题的数据,结构如下:
[{u'created_at': u'2014-04-16T12:13:15Z', u'trends': [{u'url': u'http://twitter.com/search?q=%22South+Korea%22', u'query': u'%22South+Korea%22', u'name': u'South Korea', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%23FETUSONEDIRECTIONDAY', u'query': u'%23FETUSONEDIRECTIONDAY', u'name': u'#FETUSONEDIRECTIONDAY', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%23PrayForSouthKorea', u'query': u'%23PrayForSouthKorea', u'name': u'#PrayForSouthKorea', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%23GaraGaraRP', u'query': u'%23GaraGaraRP', u'name': u'#GaraGaraRP', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%23%D8%A5%D8%B3%D9%85_%D8%A3%D9%85%D9%8A_%D8%A8%D8%AC%D9%88%D8%A7%D9%84%D9%8A', u'query': u'%23%D8%A5%D8%B3%D9%85_%D8%A3%D9%85%D9%8A_%D8%A8%D8%AC%D9%88%D8%A7%D9%84%D9%8A', u'name': u'#\u0625\u0633\u0645_\u0623\u0645\u064a_\u0628\u062c\u0648\u0627\u0644\u064a', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%23Kad%C4%B1nlarKamyon%C5%9Eof%C3%B6r%C3%BCOlursa', u'query': u'%23Kad%C4%B1nlarKamyon%C5%9Eof%C3%B6r%C3%BCOlursa', u'name': u'#Kad\u0131nlarKamyon\u015eof\xf6r\xfcOlursa', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%22Dear+My+BestFriend%22', u'query': u'%22Dear+My+BestFriend%22', u'name': u'Dear My BestFriend', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%22%D0%A1%D0%B0%D0%BC%D0%BE%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B0+100%22', u'query': u'%22%D0%A1%D0%B0%D0%BC%D0%BE%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B0+100%22', u'name': u'\u0421\u0430\u043c\u043e\u043e\u0431\u043e\u0440\u043e\u043d\u0430 100', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=%22If+I+Stay%22', u'query': u'%22If+I+Stay%22', u'name': u'If I Stay', u'promoted_content': None}, {u'url': u'http://twitter.com/search?q=Gabashvili', u'query': u'Gabashvili', u'name': u'Gabashvili', u'promoted_content': None}], u'as_of': u'2014-04-16T12:20:29Z', u'locations': [{u'woeid': 1, u'name': u'Worldwide'}]}]
Run Code Online (Sandbox Code Playgroud)
这是一个包含多个词典的python列表吗?如何从该数据中提取主题标签并将其保存到新变量中?
我是python的新手所以请解释你的选择.
谢谢!
在您的示例中,您的列表中有一个条目,由带有键值“trends”的嵌套字典组成,每个值都是另一个字典,您感兴趣的是“name”,特别是如果它以“#”开头:
\n\nIn [180]:\n\n[x for x in temp[0]['trends'] if x['name'].find('#') ==0]\nOut[180]:\n[{'name': '#FETUSONEDIRECTIONDAY',\n 'promoted_content': None,\n 'query': '%23FETUSONEDIRECTIONDAY',\n 'url': 'http://twitter.com/search?q=%23FETUSONEDIRECTIONDAY'},\n {'name': '#PrayForSouthKorea',\n 'promoted_content': None,\n 'query': '%23PrayForSouthKorea',\n 'url': 'http://twitter.com/search?q=%23PrayForSouthKorea'},\n {'name': '#GaraGaraRP',\n 'promoted_content': None,\n 'query': '%23GaraGaraRP',\n 'url': 'http://twitter.com/search?q=%23GaraGaraRP'},\n {'name': '#\xd8\xa5\xd8\xb3\xd9\x85_\xd8\xa3\xd9\x85\xd9\x8a_\xd8\xa8\xd8\xac\xd9\x88\xd8\xa7\xd9\x84\xd9\x8a',\n 'promoted_content': None,\n 'query': '%23%D8%A5%D8%B3%D9%85_%D8%A3%D9%85%D9%8A_%D8%A8%D8%AC%D9%88%D8%A7%D9%84%D9%8A',\n 'url': 'http://twitter.com/search?q=%23%D8%A5%D8%B3%D9%85_%D8%A3%D9%85%D9%8A_%D8%A8%D8%AC%D9%88%D8%A7%D9%84%D9%8A'},\n {'name': '#Kad\xc4\xb1nlarKamyon\xc5\x9eof\xc3\xb6r\xc3\xbcOlursa',\n 'promoted_content': None,\n 'query': '%23Kad%C4%B1nlarKamyon%C5%9Eof%C3%B6r%C3%BCOlursa',\n 'url': 'http://twitter.com/search?q=%23Kad%C4%B1nlarKamyon%C5%9Eof%C3%B6r%C3%BCOlursa'}]\nRun Code Online (Sandbox Code Playgroud)\n\n编辑\n仅获取主题标签:
\n\nIn [181]:\n\n[x['name'] for x in temp[0]['trends'] if x['name'].find('#') ==0]\nOut[181]:\n['#FETUSONEDIRECTIONDAY',\n '#PrayForSouthKorea',\n '#GaraGaraRP',\n '#\xd8\xa5\xd8\xb3\xd9\x85_\xd8\xa3\xd9\x85\xd9\x8a_\xd8\xa8\xd8\xac\xd9\x88\xd8\xa7\xd9\x84\xd9\x8a',\n '#Kad\xc4\xb1nlarKamyon\xc5\x9eof\xc3\xb6r\xc3\xbcOlursa']\nRun Code Online (Sandbox Code Playgroud)\n\n您可以使用startswith代替find:
[x['name'] for x in temp[0]['trends'] if x['name'].startswith('#')]\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3574 次 |
| 最近记录: |