gpt4 book ai didi

python - Scrapy:为什么提取的字符串是这种格式?

转载 作者:太空狗 更新时间:2023-10-29 21:18:39 24 4
gpt4 key购买 nike

我在做

item['desc'] = site.select('a/text()').extract()

但这将像这样打印

[u'\n                    A mano libera\n                  ']

我必须做些什么来定时和删除奇怪的字符,例如 [u'\n 、尾随空格和 '] ?

我无法修剪(剥离)

exceptions.AttributeError: 'list' object has no attribute 'strip'

如果转换为字符串然后剥离,结果就是上面的字符串,我想它是 UTF-8

最佳答案

使用 Item Loaders 有一个很好的解决方案.项目加载器是从响应中获取数据、处理数据并为您构建项目的对象。下面是一个 Item Loader 的示例,它将去除字符串并返回与 XPath 匹配的第一个值(如果有的话):

from scrapy.contrib.loader import XPathItemLoader
from scrapy.contrib.loader.processor import MapCompose, TakeFirst

class MyItemLoader(XPathItemLoader):
default_item_class = MyItem
default_input_processor = MapCompose(lambda string: string.strip())
default_output_processor = TakeFirst()

然后你像这样使用它:

def parse(self, response):
loader = MyItemLoader(response=response)
loader.add_xpath('desc', 'a/text()')
return loader.load_item()

关于python - Scrapy:为什么提取的字符串是这种格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000640/

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