Open tdinformatique opened 8 years ago
Silly me! I was in Matlab mode. I changed it in https://github.com/schollz/twittermatic/commit/12851be434b4e401e9a43a3681a7278d6278d379
this problem seems solved, but I'm still the same error
I see that now, I should've added another try-except block. I've added it in https://github.com/schollz/twittermatic/commit/b3a3ef55c9f782c14eb01791bcd514701f8bb5b1, so let me know if that works!
It's seems to be cool, but I can not insert tweet into sqlite database
Are you getting an error? Or just no tweets appear in the sqlite database?
no tweet appear in database ? You've an Idea ?
I just want to search tweet with keywords, without bot replies. But I've no tweet in database. What's wrong with what I do?
If your just searching for tweets, try this:
from lib import *
bot = TwitterBot('yourlogininfo.json')
collectEveryTweet('twitterhandle')
When you run that using Python3 you will see some output. If there is an error, it will be in the output, so copy and paste it here so I can help figure out whats going on.
collectEveryTweet, is existing ?
Sorry it should be
from lib import *
bot = TwitterBot('yourlogininfo.json')
bot.collectTweets('twitterhandle')
Yes, it's what I do and I can get with all tweets of a page. But is-it possible to get all tweets of a tweet search ?
I 've donne #!/usr/bin/python3.2 from lib import *
bot = TwitterBot('data/default.json') # Load bot bot.collectTweets('bots futur')
But in this case :
Database.init_db: INFO Setting up database
Database.init_db: INFO Database setup complete
/home/(...)twittermatic-master/lib.py:95: ResourceWarning: unclosed file <_io.TextIOWrapper name='data/default.json' mode='r' encoding='UTF-8'>
self.settings = json.load(open(settingsFile, 'r'))
data/default.json: DEBUG Initialized
data/default.json: DEBUG Signing in...
data/default.json: DEBUG Using login method 2
data/default.json: DEBUG https://twitter.com/
Traceback (most recent call last):
File "essay.py", line 5, in
I'm searching a way to use keywords
Okay it looks like your able to sign on now, which is good.
Currently there is no function to just search keywords and save all the tweets. However it would be easy to modify a current function to do this. Just look at this line and remove the 'from:' +
from it. I haven't tested this, but I will try it out when I get a chance.
It seems that don't working. Perhaps a new function will be better to search on twitter search keyword
I'm not sure but I've got a problem with Alchemy My script :
from lib import *
bot = TwitterBot('data/default.json') # Load bot bot.collectTweets('felixsalmon')
Results : Database.init_db: INFO Setting up database Database.init_db: INFO Database setup complete /(...)/python/twittermatic-master/twittermatic-master/lib.py:95: ResourceWarning: unclosed file <_io.TextIOWrapper name='data/default.json' mode='r' encoding='UTF-8'> self.settings = json.load(open(settingsFile, 'r')) data/default.json: DEBUG Initialized data/default.json: DEBUG Signing in... data/default.json: DEBUG Using login method 2 data/default.json: DEBUG https://twitter.com/ {'handle': b'felixsalmon', 'website': b'fusion.net/author/felix-s\xe2\x80\xa6', 'location': b'NYC', 'firstname': b'Felix', 'lastname': b'Salmon', 'bio': None} Traceback (most recent call last): File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 824, in _execute_context context = constructor(dialect, self, conn, *args) File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 448, in _init_compiled self.__process_defaults() File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 823, in __process_defaults val = self.get_insert_default(c) File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 779, in get_insert_default return self._exec_default(column.default, column.type) File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 765, in _exec_default return default.arg(self) TypeError: utcnow() takes no arguments (1 given)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/(...)/python/twittermatic-master/twittermatic-master/data/database_commands.py", line 162, in insertTwitterHandler
session.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 721, in commit
self.transaction.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 354, in commit
self._prepare_impl()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 334, in _prepare_impl
self.session.flush()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1818, in flush
self._flush(objects)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1936, in _flush
transaction.rollback(_capture_exception=True)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in exit
compat.reraise(exc_type, exc_value, exc_tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 184, in reraise
raise value
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1900, in _flush
flush_context.execute()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
rec.execute(self)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 525, in execute
uow
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 64, in save_obj
table, insert)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 569, in _emit_insert_statements
execute(statement, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 761, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 828, in _execute_context
None, None)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
exc_info
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 183, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 824, in _execute_context
context = constructor(dialect, self, conn, args)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 448, in _init_compiled
self.__process_defaults()
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 823, in __process_defaults
val = self.get_insert_default(c)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 779, in get_insert_default
return self._exec_default(column.default, column.type)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 765, in _exec_default
return default.arg(self)
sqlalchemy.exc.StatementError: utcnow() takes no arguments (1 given) (original cause: TypeError: utcnow() takes no arguments (1 given)) 'INSERT INTO handlers (handle, firstname, lastname, location, website, bio, "Timestamp") VALUES (?, ?, ?, ?, ?, ?, ?)' [{'handle': b'felixsalmon', 'website': b'fusion.net/author/felix-s\xe2\x80\xa6', 'location': b'NYC', 'firstname': b'Felix', 'lastname': b'Salmon', 'bio': None}]
File "essay.py", line 5, in
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/(...)/python/twittermatic-master/twittermatic-master/data/database_commands.py", line 110, in insertTweet
session.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 721, in commit
self.transaction.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 354, in commit
self._prepare_impl()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 334, in _prepare_impl
self.session.flush()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1818, in flush
self._flush(objects)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1936, in _flush
transaction.rollback(_capture_exception=True)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in exit
compat.reraise(exc_type, exc_value, exc_tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 184, in reraise
raise value
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1900, in _flush
flush_context.execute()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
rec.execute(self)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 525, in execute
uow
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 64, in save_obj
table, insert)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 569, in _emit_insert_statements
execute(statement, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 761, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 828, in _execute_context
None, None)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
exc_info
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 183, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 824, in _execute_context
context = constructor(dialect, self, conn, *args)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 448, in _init_compiled
self.__process_defaults()
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 823, in __process_defaults
val = self.get_insert_default(c)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 779, in get_insert_default
return self._exec_default(column.default, column.type)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 765, in _exec_default
return default.arg(self)
sqlalchemy.exc.StatementError: utcnow() takes no arguments (1 given) (original cause: TypeError: utcnow() takes no arguments (1 given)) 'INSERT INTO tweets (handle, tweet_time, text, type, itemid, retweets, favorites, status, handler_id, "Timestamp") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' [{'favorites': -1, 'handle': 'felixsalmon', 'retweets': -1, 'text': '@qualityrye the day I discovered anchovy juice at Eataly was definitely a life-changing pivot point in my existence', 'handler_id': None, 'itemid': '708418991048552449', 'type': 'tweet', 'status': 1, 'tweet_time': datetime.datetime(2016, 3, 11, 22, 27, 3)}]
File "essay.py", line 5, in
Best regards
Database.init_db: INFO Setting up database Database.initdb: INFO Database setup complete /home/(**)/twittermatic-master/lib.py:95: ResourceWarning: unclosed file <_io.TextIOWrapper name='data/default.json' mode='r' encoding='UTF-8'> self.settings = json.load(open(settingsFile, 'r')) data/default.json: DEBUG Initialized data/default.json: DEBUG Signing in... data/default.json: DEBUG Using login method 2 Traceback (most recent call last): File "essai.py", line 4, in
bot.liveSearch('#cats')
File "/home/(_)/twittermatic-master/lib.py", line 533, in liveSearch
self.signin()
File "/home/(_)/twittermatic-master/lib.py", line 188, in signin
self.getStats()
File "/home/(**)/twittermatic-master/lib.py", line 1042, in _getStats
following[0].text, following[1].text, following[2].text))
IndexError: list index out of range
sys:1: ResourceWarning: unclosed file <_io.BufferedWriter name='/dev/null'>
/usr/lib/python3.4/importlib/_bootstrap.py:2150: ImportWarning: sys.meta_path is empty
I just replace "catch:" in lib.py with "except:"
You're work is important for us, so I'll test it