我不确定我是否有一个特定的问题,一个psycopg2特定的问题,或者只是一个普通的python问题。
我正在尝试从Twitter发送推文并将其输入到postgres数据库中。它正在工作一半。我的第一个脚本打印了许多推文,其中包含我搜索的推文的简单打印声明。
import tweepy
import csv
import psycopg2
import sys
consumer_key = "xxx"
consumer_secret = "xxx"
access_token = "xxx"
access_token_secret = "xxx"
auth = tweepy.auth.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
for tweet in tweepy.Cursor(api.search,q="*",since="2016-02-10", until="2016-02-29",count=100,geocode="5.29126,52.132633,150km").items(1000):
print (tweet.created_at, tweet.text.encode('utf-8'), tweet.user.id, tweet.geo)
我用最下面的线替换了最后两行。然后它只输入上面脚本中打印的推文的一个小分区到我的postgres表。
con = None
try:
con = psycopg2.connect("dbname='test' user='me'")
cur = con.cursor()
cur.execute("DROP TABLE Test")
cur.execute("CREATE TABLE Test(Id serial PRIMARY KEY, userid int, created int)")
for tweet in tweepy.Cursor(api.search,q="*",since="2016-02-10", until="2016-02-29", count=100000, geocode="5.29126,52.132633,150km").items(10000000):
print (tweet.created_at, tweet.text.encode('utf-8'), tweet.user.id, tweet.geo)
test = ([tweet.user.id])
print (test)
cur.execute("INSERT INTO Test(userid) VALUES(%s)", (test))
con.commit()
print ( 'succes')
except:
print ('well that is unfortunate')
我不明白为什么它只是部分工作。而我最大的问题是不知道在哪里看:Postgres / psycopg2,tweepy或只是regalur python。