如何用php / javascript抓取当前网页?

时间:2010-05-15 15:37:57

标签: php javascript webpage scrape

我制作了以下网页来生成交互式待办事项列表:http://robert-kent.com/todo/todo.php

基本上,用户粘贴一个带编号的待办事项列表,每个任务都放在它自己的具有唯一ID的div中。用户可以为任务添加注释(使用javascript完成),并且可以在完成任务时单击绿色检查以隐藏它。

我想添加一个导出按钮,该按钮会生成一个报告,说明哪些任务已完成,哪些未完成,以及用户输入的注释。经过一番搜索后,我明白我想要做的就是刮掉页面,但我并不是最好的方法来做到这一点。我在Google上找到的许多文章和教程都涉及到抓取其他网站,并没有真正解释我如何迭代页面上的每个div。

完整来源:http://pastebin.com/r7V3P5jK

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

不幸的是,提供您所描述的“导出”功能的方法是完全错误的。您的页面应该提交回服务器,并带有一个参数,指示需要“导出”。然后,服务器应将“Content-Disposition”标头设置为attachment; filename="export.txt"(或任何您想要的文件名)。

答案 1 :(得分:0)

如果存在包含要导出内容的div,则只需使用innerHTML属性即可导出HTML代码。例如,假设div具有'notes'的id:

var notes = document.getElementById('notes');
alert(notes.innerHTML);

现在,如何让用户将实际的HTML保存在文件中?您需要将其发送到CGI或类似的服务器,使用以下标头发送回内容:

内容 - 处置:附件;文件名= “export.txt到”

或者,您必须使用此页面上说明的方法:http://objectmix.com/javascript/314946-possible-generate-text-files-javascript.html。仅供参考:页面上说明的方法不兼容跨浏览器。