Я пытаюсь записать данные лома в базу данных mysql, но для начальных страниц он записывает данные без ошибок, но после сканирования некоторых страниц он выдает ошибку и ничего не записывает в базу данных mysql. Это ошибка, которую я получаю: -
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/scrapy/utils/defer.py", line 157, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/Users/divyanshu/scrapy_bot/review_bot/pipelines.py", line 123, in process_item
status = sbr.insert_into(self.session, spider, outputs)
File "/Users/divyanshu/scrapy_bot/review_bot/database/scrapy_bot_reviews.py", line 17, in insert_into
filter(and_(cls.source_id==spider.source_id,cls.review_link==outputs["review_link"]))\
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3397, in first
ret = list(self[0:1])
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3171, in __getitem__
return list(res)
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3503, in __iter__
return self._execute_and_instances(context)
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3525, in _execute_and_instances
querycontext, self._connection_from_session, close_with_result=True
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3540, in _get_bind_args
mapper=self._bind_mapper(), clause=querycontext.statement, **kw
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3518, in _connection_from_session
conn = self.session.connection(**kw)
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1141, in connection
execution_options=execution_options,
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1147, in _connection_for_bind
engine, execution_options
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 409, in _connection_for_bind
self._assert_active()
File "/Users/divyanshu/myenv/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 296, in _assert_active
code="7s2a",
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: 'charmap' codec can't encode character '\u200e' in position 43: character maps to <undefined> (Background on this error at: http://sqlalche.me/e/13/7s2a)
Я сделал таблицу с этой конфигурацией: -
CREATE TABLE `scrapy_bot_reviews` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`master_source_id` int(11) DEFAULT '10',
`movie_id` int(11) DEFAULT NULL,
`process_id` int(11) DEFAULT '0',
`ner_name` text,
`es_name` text,
`source` varchar(255) DEFAULT '',
`source_id` int(11) DEFAULT NULL,
`review_link` varchar(2040) DEFAULT '',
`snippet` varchar(5100) DEFAULT '',
`img_url` varchar(2040) DEFAULT '',
`title` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`mmr_row_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `movie_id` (`movie_id`),
KEY `source_id` (`source_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1146 DEFAULT CHARSET=utf8;
Я использовал utf16 и utf32, но ошибка не решается . Может ли кто-нибудь мне в этом помочь.