当前位置: 首页 > 面试题库 >

用于MSSQL的Scrapy管道

楮乐邦
2023-03-14
问题内容

我正在编写自己的Python scrapy管道:

from scrapy.exceptions import NotConfigured
from scrapy.exceptions import DropItem
import pymssql

from slybot.item import create_item_version

class SQLStore(object):
  def __init__(self):
    self.conn = pymssql.connect(host='XXXXXX', user='sa', password='1timep', database='DBSample')
    self.cursor = self.conn.cursor()
    #log data to json file


def process_item(self, item, spider):

    try:
        self.cursor.execute("INSERT INTO Movie(Description, Location,Title) VALUES (%s, %s, %s)", (item['Description'], item['Location'], item['Title']))
        self.conn.commit()

    except pymssql.Error, e:
        print ("error")

        return item

我正在尝试将值插入SQL Server。

以下是我的蜘蛛设置:

ITEM_PIPELINES = {'slybot.dupefilter.SQLStore' : 100}

一切正常。当我在Scrapyd中提交蜘蛛时,我看到以下日志文​​件

2015-01-19 16:07:57+0530 [scrapy] INFO: Enabled item pipelines: SQLStore

从日志文件中,我看到我的蜘蛛正在使用SQLStorepipline。

但是这些 值不会加载到SQL Server中 。我能够以json格式查看日志文件中的内容。

什么地方出了错。那是什么问题呢?

谁能帮帮我吗?谢谢。


问题答案:

代码没有正确缩进。process_itemSQLStore类定义处于同一级别,因此它不是类的方法,因此永远不会被调用。缩进:

import pymssql

from slybot.item import create_item_version


class SQLStore(object):
    def __init__(self):
        self.conn = pymssql.connect(host='XXXXXX', user='sa', password='1timep', database='DBSample')
        self.cursor = self.conn.cursor()

    def process_item(self, item, spider):
        try:
            self.cursor.execute("INSERT INTO Movie(Description, Location,Title) VALUES (%s, %s, %s)",
                                (item['Description'], item['Location'], item['Title']))
            self.conn.commit()
        except pymssql.Error, e:
            print ("error")

        return item


 类似资料:
  • 我正试图让所有表都显示在Adminer中,这样我就不必远程访问Windows服务器来查看表并从我正在使用的MS SQL DB进行查询。当我点击“选择表名”查看任何表上的数据时,我遇到了这个错误。你认为我需要做什么来解决这个问题? ! ) 警告:mssql_query():消息:无法使用DB Library(如ISQL)或ODBC 3.7版或更早版本将仅Unicode排序规则或ntext数据中的Un

  • 我在[本教程]后面有个问题(https://hub.docker.com/r/microsoft/mssql-server-linux/)我试图通过sqlcmd连接到docker托管的MSSQL。 我从windows在PowerShell中执行了以下操作: 注意:添加了“-it”和“/bin/bash”,因为如果没有检测到任何活动,docker将自动停止。 我运行了docker container

  • 问题内容: 我对cookie如何与Scrapy一起使用以及如何管理这些cookie感到有些困惑。 网站的运作方式: 当你访问网站时,你将获得一个会话cookie。 当你进行搜索时,该网站会记住你搜索的内容,因此当你执行诸如转到下一页结果之类的操作时,该网站就会知道它正在处理的搜索。 我的剧本: 我的spider的起始网址为 搜索页面由请求,搜索表单响应被传递到 然后使用和搜索表单响应进行很多搜索请

  • 本文向大家介绍护卫神 主机管理系统使用说明(MSSQL管理),包括了护卫神 主机管理系统使用说明(MSSQL管理)的使用技巧和注意事项,需要的朋友参考一下 感谢大家使用【护卫神·主机管理系统】V3.1,该版本支持在Windows Server 2003/2008/2012,含32位和64位,直接开设配置WEB站、FTP站,以及SQL Server和MySQL,是您开设和管理虚拟主机的绝好帮手。  

  • 本文向大家介绍PHP基于mssql扩展远程连接MSSQL的简单实现方法,包括了PHP基于mssql扩展远程连接MSSQL的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于mssql扩展远程连接MSSQL的简单实现方法。分享给大家供大家参考,具体如下: 这里给出的是一个简单的示例,没有做安全考虑,自行处理吧: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+

  • 我正试图将数据从Postgres数据库迁移到SQL Server。为此,我将Postgres数据导出为JSON格式,其想法是将数据插入到我的表中(我已经将Postgres数据库中的模式导入到SQL server中)。 我正在使用OPENROWSET函数,但似乎在编码方面存在问题。我在文档中注意到,有一个CODEPAGE选项应该可以解决这个问题,但它没有按照我指定的方式做任何事情。 这是我的示例查询