我正在编写一个可能需要半天时间的脚本,因为它从一个网站的大约 14000 个网页中获取数据。
要确定它是否取得进展,有没有办法观察它的执行情况,即使用 mac os shell 到每个抓取页面的传出连接?
如果有任何帮助,我正在使用 curl 获取页面内容。
非常感谢!查尔斯
编辑该脚本是用 php 编写的,并从 localhost 执行。
我正在编写一个可能需要半天时间的脚本,因为它从一个网站的大约 14000 个网页中获取数据。
要确定它是否取得进展,有没有办法观察它的执行情况,即使用 mac os shell 到每个抓取页面的传出连接?
如果有任何帮助,我正在使用 curl 获取页面内容。
非常感谢!查尔斯
编辑该脚本是用 php 编写的,并从 localhost 执行。
在编写自定义脚本时,将某种状态输出到标准输出非常有帮助。
这可以使用printf
http://www.php.net/manual/en/function.sprintf.php以统一的方式完成
您记录到标准输出的内容取决于您需要查看的信息。也许对于 curl 请求,我会记录 Url、响应代码,也许是开始时间和结束时间。这完全取决于您,只需确保您可以验证它的状态/进度。
printf('%40s | %5s', 'URL', 'Status Code');
printf('%40s | %5s', $the_url, $status_code);
如果您通过 Web 浏览器运行它,则在 PHP 完成执行之前不会看到输出。但是,file_put_contents()
可以将数据附加到您可以查看的日志文件中。
示例代码行是:file_put_contents("file name.txt", "\nWebsite abc was successfully scraped", FILE_APPEND);
. 您必须具有 FILE_APPEND 标志,否则 PHP 每次都会覆盖该文件。