我正在安装tweepy,但我遇到了关于pip.req的错误.我安装了pip,但由于某种原因pip.req仍然无法找到.我在网上进行了大量研究,我发现的最多是关于zapo(?)和python 2.7之间不兼容的问题导致其他用户出现同样的错误.但是,关于如何解决问题的讨论还不清楚.谢谢!
$ python2 setup.py install
Traceback (most recent call last):
File "setup.py", line 5, in <module>
from pip.req import parse_requirements
ImportError: No module named pip.req
Run Code Online (Sandbox Code Playgroud) 我正在使用Tweepy下载推文.我有一个程序,然后将实际Status对象写入文本形式的文件.如何将其转换为JSON,或将此对象导入Python?我已经尝试使用JSON库进行编码,但Status不是JSON可序列化的.
我一直试图解决这个问题,但这真是令人沮丧.我正在尝试使用Tweepy获取带有特定主题标签(大量推文)的推文.但这不会超过一周.我需要回溯至少两年,持续几个月.这是否可能,如果是这样的话怎么样?
只是为了检查这里是我的代码
import tweepy
import csv
consumer_key = '####'
consumer_secret = '####'
access_token = '####'
access_token_secret = '####'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# Open/Create a file to append data
csvFile = open('tweets.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)
for tweet in tweepy.Cursor(api.search,q="#ps4",count=100,\
lang="en",\
since_id=2014-06-12).items():
print tweet.created_at, tweet.text
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])
Run Code Online (Sandbox Code Playgroud) 我在Stack Exchange上的一些问题中看到,限制可以是每15分钟的请求数量的函数,并且还取决于算法的复杂性,除了这不是一个复杂的.
所以我使用这段代码:
import tweepy
import sqlite3
import time
db = sqlite3.connect('data/MyDB.db')
# Get a cursor object
cursor = db.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS MyTable(id INTEGER PRIMARY KEY, name TEXT, geo TEXT, image TEXT, source TEXT, timestamp TEXT, text TEXT, rt INTEGER)''')
db.commit()
consumer_key = ""
consumer_secret = ""
key = ""
secret = ""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth)
search = "#MyHashtag"
for tweet in tweepy.Cursor(api.search,
q=search,
include_entities=True).items():
while True:
try:
cursor.execute('''INSERT INTO MyTable(name, …Run Code Online (Sandbox Code Playgroud) 我需要从created_at属性返回的datetime.datetime对象中提取当天的时间.但我不明白该怎么做.这是我获取datetime.datetime对象的代码.
from datetime import *
import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
tweets = tweepy.Cursor(api.home_timeline).items(limit = 2)
t1 = datetime.strptime('Wed Jun 01 12:53:42 +0000 2011','%a %b %d %H:%M:%S +0000 %Y')
for tweet in tweets:
print (tweet.created_at-t1)
t1 = tweet.created_at
Run Code Online (Sandbox Code Playgroud)
我只需从t1中提取小时和分钟.
是否有可能获得拥有超过一百万粉丝的账户的完整关注者列表,例如麦当劳?
我使用Tweepy并按照代码:
c = tweepy.Cursor(api.followers_ids, id = 'McDonalds')
ids = []
for page in c.pages():
ids.append(page)
Run Code Online (Sandbox Code Playgroud)
我也试试这个:
for id in c.items():
ids.append(id)
Run Code Online (Sandbox Code Playgroud)
但我总是得到'超出速率限制'错误,并且只有5000个关注者ID.
如果这是以前在别处回答的问题的重复,请原谅我,但我对如何使用tweepy API搜索功能感到迷茫.有没有关于如何使用该api.search()功能搜索推文的文档?
有什么方法可以控制返回的推文数量,结果类型等功能吗?
出于某种原因,结果似乎最高为100.
我使用的代码片段如下
searched_tweets = self.api.search(q=query,rpp=100,count=1000)
我发现下面这段代码非常适合让我在Python Shell中查看twitter firehose的标准1%:
import sys
import tweepy
consumer_key=""
consumer_secret=""
access_key = ""
access_secret = ""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
print status.text
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
sapi.filter(track=['manchester united'])
Run Code Online (Sandbox Code Playgroud)
如何添加过滤器以仅解析特定位置的推文?我见过人们将GPS添加到其他与Twitter相关的Python代码中,但我无法在Tweepy模块中找到任何特定于sapi的内容.
有任何想法吗?
谢谢
我使用Tweepy API来提取Twitter提要.我想只提取特定语言的所有Twitter提要.语言过滤器仅在track提供过滤器时有效.以下代码返回406错误:
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
stream.filter(languages=["en"])
Run Code Online (Sandbox Code Playgroud)
如何使用Tweepy从特定语言中提取所有推文?
我可以在Python 3.1中使用urllib.request模块.但是当我使用Python 2.7执行相同的程序时,出现了一个错误:
AttributeError: 'module' object has no attribute 'request'.
我相信这个错误是因为在urllib中没有Python 2.7的请求模块.因为我需要使用tweepy,所以我必须坚持使用Python 2.7,因为tweepy不支持Python 3.
那么我如何在Python 2.7中使用urllib.request模块呢?