我使用scrapy下载页面。我想将所有下载的页面保存在一个文件中。我有以下代码用于构造函数和解析:
def __init__(self):
self.time = time_utils.get_current_time_hr()
self.folder = f"{ROOT_DIR}/data/tickers/scrapy/{self.time}/"
os.makedirs(self.folder, exist_ok=True)
filename = self.folder + "bigfile.txt"
self.f = open(filename, 'w')
def parse(self, response):
buffer = list()
buffer.append(response.body.decode("utf-8") )
self.f.write("".join(buffer))
self.f.flush()
在我写的big_file. txt文件中,是否有可能混合使用不同的html页面?
1条答案
按热度按时间x6yk4ghg1#
Scrapy是单线程的,但即使数据不会被破坏,它仍然是一个坏主意,因为写入文件是一个阻塞操作。
您可以使用FEEDS并让它为您处理。
试试这个例子,看看它是否适合你的需要:
main.py:
spider.py: