【问题标题】:(Scrapy pipeline): Unable to create database table as part of Scrapy pipeline script(Scrapy 管道):无法创建数据库表作为 Scrapy 管道脚本的一部分
【发布时间】:2017-12-10 22:14:12
【问题描述】:

我正在尝试创建一个数据库表作为 Scrapy 管道脚本的一部分。

我的 pipelines.py 文件如下:

import pymysql.cursors

class mySQLTest(object):

    def __init__(self):
        self.conn = pymysql.connect(host='localhost',
                             user='root',
                             password='',
                             db='testDB',
                             charset='utf8mb4',
                          cursorclass=pymysql.cursors.DictCursor)
        self.cursor = self.conn.cursor()

    def process_target(self):
        sql = "CREATE TABLE items2 (id INT(11) NOT NULL);"

        self.cursor.execute(sql)
        self.conn.commit()

当我在 PyCharm Python 控制台中运行脚本时,我可以看到表已创建。

但是,当我将它作为 Scrapy 的一部分运行时,没有创建任何表。

Scrapy 管道不支持创建表吗?跟踪脚本可能遇到的错误的最佳方法是什么?

技术规格:

  • Mac OS X El Capitan 10.11
  • PyCharm 社区版 2017.1.4
  • Python 3.6.1
  • 玛丽亚 DB 10.2.6

【问题讨论】:

    标签: python scrapy pycharm mariadb create-table


    【解决方案1】:

    => 建议你把方法名process_target(self)改成process_item(self, item)
    => 是否在 settings.py 文件中激活了项目管道?
    => 你有没有向管道产生任何对象?

    【讨论】:

      猜你喜欢
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多