gpt4 book ai didi

python - 将蜘蛛的输出保存在变量中而不是文件中

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:03 27 4
gpt4 key购买 nike

我正在寻找一种将蜘蛛输出保存在 python 变量中的方法,而不是将其保存在 json 文件中并在程序中读回。

import scrapy
from scrapy.crawler import CrawlerProcess

class TestSpider(scrapy.Spider):
name = 'test'
start_urls = ['https://www.wikipedia.org']

def parse(self, response):
yield {
'text' : response.css(".jsl10n.localized-slogan::text").extract_first()
}

if __name__ == "__main__":
os.remove('result.json')
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'FEED_FORMAT': 'json',
'FEED_URI': 'result.json'
})

process.crawl(TestSpider)
process.start()

我想避免以下步骤并直接读取该值,而不是先将其保存在磁盘上

with io.open('result.json', encoding='utf-8') as json_data:
d = json.load(json_data)
text = d[0]['text']

最佳答案

我最终使用 global 变量来存储解决我的目的的输出。

import scrapy
from scrapy.crawler import CrawlerProcess

outputResponse = {}

class TestSpider(scrapy.Spider):
name = 'test'
start_urls = ['https://www.wikipedia.org']

def parse(self, response):
global outputResponse
outputResponse['text'] = response.css(".jsl10n.localized-slogan::text").extract_first()

if __name__ == "__main__":
os.remove('result.json')
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
})

process.crawl(TestSpider)
process.start()

关于python - 将蜘蛛的输出保存在变量中而不是文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48573298/

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