【发布时间】:2017-01-05 12:56:01
【问题描述】:
我正在抓取一个包含大量数据的网页,格式为 HTML 表格。您必须提交表单才能生成表格。我的节点脚本提交表单的所有排列,每次都会刮掉结果表,将每一行变成一行数据。
问题是,当我将数据写入某个文件时,当文件大小约为 10MB 时,它就会停止工作。有时会少一点;有时多一点。我试过将文件写成 .csv、.json 和 .txt,每次都出现同样的问题。
我正在使用fs 来执行此任务。相关代码为:
var fs = require("fs");
var stream = fs.createWriteStream("data.csv"); // can also be .json or .txt
stream.write(line_of_data);
我可以console.log(line_of_data) 并且它工作正常,一直到没有数据可供抓取。但在大约 10MB 时,输出文件将不再接受任何数据行。停止点似乎几乎完全是任意的——每次我运行脚本时,它都会在不同的点停止写入。我的硬盘驱动器上有足够的存储空间,所以问题一定与其他问题有关。
【问题讨论】:
-
你能否将不同的结果表存储在不同的文件中,最后将它们与 nodeJS 以外的东西合并?
标签: javascript node.js web-scraping screen-scraping