Неверный синтаксис Python в конвейере scrapy для mysql - PullRequest
0 голосов
/ 31 октября 2019

Я не понимаю, почему я получаю синтаксическую ошибку здесь ... я не нахожу ничего неправильного и без пробелов ...

/pipelines.py", line 23
except MySQLdb.Error, e:
                    ^
SyntaxError: invalid syntax

Ошибка здесь

и вот мой код

import sys
import MySQLdb
import hashlib
from scrapy.exceptions import DropItem
from scrapy.http import Request

class AmazonMobileDetailsPipeline(object):
    def __init__(self):
        self.conn = MySQLdb.connect('localhost', 'xxx', 'xxxxx', 'xxx', charset="utf8", use_unicode=True)
        self.cursor = self.conn.cursor()

    def process_item(self, item, spider):
        try:
            self.cursor.execute("""INSERT INTO items (name, price, imagelink) VALUES (%s, %s, %s)""", (item['mobile_name'].encode('utf-8'), item['mobile_price'].encode('utf-8'), item['mobile_imagelink'].encode('utf-8')))            
            self.conn.commit()            
        except MySQLdb.Error, e:
            print "Error %d: %s" % (e.args[0], e.args[1])
        return item

Ответы [ 2 ]

3 голосов
/ 31 октября 2019

Это должно быть

except MySQLdb.Error as e:

Взгляните на официальную документацию

0 голосов
/ 31 октября 2019

Вы используете код, написанный для Python 2, но работающий на Python 3. И запятая в предложении except, и print без скобок больше не действительны.

Вы должны найти болееактуальная документация, которой необходимо следовать при написании кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...