0

私は Scrapy で小さなプロジェクトを構築しており、Scrapy は初めてです。スパイダーを実行していると、パイプラインに次のような例外エラーが表示されます。

item['Number'][0]、exceptions.IndexError: リスト インデックスが範囲外です

私のパイプラインファイル:

import sys
from scrapy.utils.python import unicode_to_str
import MySQLdb
from project2.settings import MYSQL


# the Pipeline settings.
class MySQLStorePipeline(object):

    def __init__(self):
        db=MySQLdb.connect(user='root', passwd='', db='project2', host='127.0.0.1', charset = "utf8", use_unicode = True)
        self.c=db.cursor()

    def process_item(self, item, spider):
        try:
            self.c.execute("""INSERT INTO crawlerapp_directory (Catogory, Bussiness_name, Description, Number, Web_url)  
                            VALUES (%s, %s, %s, %s, %s)""",
                           (item['Catogory'][0],
                            item['Bussiness_name'][0],
                            item['Description'][0],
                            item['Number'][0],
                            item['Web_url'][0]))

        except MySQLdb.Error, e:
            print "Error %d: %s" % (e.args[0], e.args[1])
            sys.exit (1)

        return item

私のスパイダーは正常にクロールしていますが、上記の例外エラーが表示され、スクレイピングされたデータが MySQL DB に保存されません。

問題を解決するために私を導いてください。

4

2 に答える 2