python - scrapy item 对象错误

标签 python mysql scrapy

我的 Scrappy 项目对象有问题。当前的问题是,当我抓取某些字段时,我会像这样保存它们:

item['tag'] = response.xpath("//div[contains(@class, 'video-info-row showLess')]"
                                     "//a[contains(@href, '/video/search?search')]/text()").extract()

每次传递都会抓取多个标签并将其保存到 item['tag'] 中。然后我将标签上传到我的 SQL 服务器并收到 mySQL 语法错误。问题非常明显,因为它试图插入类似以下内容:'tag1'、u'tag2'、u'tag3'、u'tag4'、u'tag5'、u'tag6'。无论如何,有没有办法去掉引号,因为我已经尝试过 .replace("' ", "") 但它不起作用。

最佳答案

您需要设置Join()该特定字段的输出处理器:

import scrapy
from scrapy.contrib.loader.processor import Join

class MyItem(scrapy.Item):
    my_field = scrapy.Field(output_processor=Join(separator=','))

关于python - scrapy item 对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977355/

相关文章:

c++ - 你能推荐一个好的跨平台应用程序开发框架吗?

python - 我如何设计一个扭曲的工厂来处理断开连接?

php - PHP 中嵌入 MySQL 请求的 Javascript

python - 如何让scrapy爬虫不以指数方式聚合结果

python - 是否可以向 Django 表单添加单行?

python 夏娃 : Add _id value in auth_field with event hook

php - 是否有任何函数可以按相反顺序对数组进行排序?

java - 套接字超时后 Hibernate 无法恢复

mysql - 如何按另一个表(多个表)的顺序将Scrapy项目从管道保存到MySQL表中?

python - Scrapy 保存可下载文件