gpt4 book ai didi

python - 将数据从 tweepy 保存到 sqlite

转载 作者:行者123 更新时间:2023-11-30 22:18:35 25 4
gpt4 key购买 nike

我有这段代码可以将数据保存在 cvs 文件中,现在我想将该数据保存到 sqlite 或 mysql,但它应该像保存在 cvs 中一样保存在数据库中的一条记录中还有一个问题这个数据大小将是每天 30-40MB 我应该使用 mysql 或 PostgresSql 哪个数据库因为我每个月有 1GB+ 数据库我的想法是制作一个包含所有趋势统计数据的网站,我想将其与 django 一起使用

import tweepy
import csv #Import csv
auth = tweepy.auth.OAuthHandler('XXXXXX', 'XXXXXXX')
auth.set_access_token('XXX-XXX', 'XXX')

api = tweepy.API(auth)
# Open/Create a file to append data
csvFile = open('result.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)

for tweet in tweepy.Cursor(api.search,
q="google",
since="2016-05-22",
until="2016-05-23",
lang="en").items():
#Write a row to the csv file/ I use encode utf-8
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])
print tweet.created_at, tweet.text
csvFile.close()

最佳答案

SQLITE3 解决方案:

首先,创建一个DB,我在这个例子中使用了twitter2.db。 SQLITE3 的基本连接和建表:

import sqlite3

conn = sqlite3.connect('C:\\....\\twitter2.db')
c = conn.cursor()

c.execute("CREATE TABLE tweeter(text VARCHAR, created_at DATETIME")

做的工作:

import tweepy
import sqlite3


conn = sqlite3.connect('C:\\....\\Desktop\\twitter2.db')
x = conn.cursor()
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)

class CustomStreamListener(tweepy.StreamListener):
def __init__(self, api):
self.api = api
super(tweepy.StreamListener, self).__init__()


def on_status(self, status):
x.execute("""INSERT INTO tweeter (text,created_at) VALUES(?,?)""",
(status.text, status.created_at))
conn.commit()

def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True

def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True


sapi = tweepy.streaming.Stream(auth, CustomStreamListener(api))
sapi.filter(track=['google'])

关闭连接:

conn.close()

关于python - 将数据从 tweepy 保存到 sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com