gpt4 book ai didi

python - scrapy mysql 返回空结果

转载 作者:行者123 更新时间:2023-11-29 20:35:40 26 4
gpt4 key购买 nike

所以我的问题是抓取的信息不会显示在数据库中。

我的蜘蛛可以很好地打印信息,例如在 .json 文件中。

管道.py

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

class MySQLStorePipeline(object):
def __init__(self):
self.conn = MySQLdb.connect(host="10.0.2.2", user='root', passwd='', db='mpmf', charset="utf8", use_unicode=True)
self.cursor = self.conn.cursor()

def process_item(self, item, stack):
try:
self.cursor.execute("""INSERT INTO test (pen, name)
VALUES (%s, %s)""",
(item['pen'].encode('utf-8'), item['name'].encode('utf-8')))

self.conn.commit()


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


return item

并在settings.py中我添加了

ITEM_PIPELINES = {
'stack.pipelines.MySQLStorePipeline': 300,
}

我的日志显示此错误,但您仍然可以看到信息收集工作正常,即使它显示此错误。

 File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line   577, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/root/stack/stack/pipelines.py", line 14, in process_item
self.cursor.execute("""INSERT INTO test (pen, name) VALUES (%s, %s)""", (item['pen'].encode('utf-8'), item['name'].encode('utf-8')))
AttributeError: 'list' object has no attribute 'encode'

因此没有结果导入数据库

最佳答案

解决了问题是缩进和列表对象没有属性

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

class MySQLStorePipeline(object):
def __init__(self):
self.conn = MySQLdb.connect(host="10.0.2.2", user='root', passwd='', db='mpmf', charset="utf8", use_unicode=True)
self.cursor = self.conn.cursor()

def process_item(self, item, stack):
try:
self.cursor.execute("""INSERT INTO test (pen, name) VALUES (%s, %s)""", (item['pen'][0].encode('utf-8'), item['name'][0].encode('utf-8')))

self.conn.commit()


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


return item

关于python - scrapy mysql 返回空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38814777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com