发布推文到postgres;未解释的部分推文选择

时间:2016-02-26 13:26:19

标签: python postgresql psycopg2 tweepy

我不确定我是否有一个特定的问题,一个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。

0 个答案:

没有答案