我正在为一个爬虫编写一组类,它抓取一个起始页,根据参数拉出三个链接(使用Simple Html Dom Parser找到允许使用类似选择器的jquery),抓取这些页面,然后转到第2页,选择接下来的3页.当前最大页面是57次.
不用说我得到了:
允许的内存大小为50331648字节耗尽错误消息.
有什么办法可以避免忘记记忆.
为了让你知道,在拉入第一页的内容后,我运行了一个go()函数,它连续拉入页面,直到达到$ this-> maxpages.我想我可以在实例化类时运行循环,但这会有所帮助.
您可以调整内存限制:
ini_set('memory_limit', '128M');
但我试着让脚本使用更少的内存.确保将数据/引用释放到不再需要存在的任何内容中.
memory_get_usage()
可以用于调试内存使用累积的位置.
此外,如果您不使用PHP 5.3,您可以考虑升级,因为它的垃圾收集器更好.