首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript来抓取它自己的页面实例

Javascript来抓取它自己的页面实例
EN

Stack Overflow用户
提问于 2011-10-29 05:09:15
回答 2查看 103关注 0票数 0

我的javascript foo有点弱,能不能用javascript把它上面的页面抓取成一个字符串?我不希望它对网页发出另一个请求,我需要它自己和页面上的任何其他来源读取,这些来源将包括为每个页面请求生成的唯一令牌,因此需要它读取该页面实例上的所有数据。

它还需要是该页面上的所有内容,包括评论,因为我想从它创建一个md5哈希,这是可能的吗?

需要抓取的html是在页面最初完成加载后表示DOM的html。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-29 05:18:03

对此要小心。使用javascript,您可以访问页面的所有对象,并且可以获取整个页面的HTML。但是,使用javascript获取的HTML可能与原始页面下载的HTML完全相同,也可能不是。有些浏览器(比如老版本的IE)实际上并不存储原始的超文本标记语言,所以当你请求innerHTML时,它们会从页面上的对象中生成超文本标记语言。当他们这样做时,属性的顺序可能不同,引用可能不同,甚至属性名称的大写也可能不同。

因此,如果你真的需要原始超文本标记语言页面的md5散列,并且需要它的准确性,你将不得不再次从服务器请求它(它最终可能来自浏览器缓存),并计算你自己的下载内容的md5散列-你不能使用当前文档的innerHTML。

票数 1
EN

Stack Overflow用户

发布于 2011-10-29 05:13:38

代码语言:javascript
运行
复制
var myHTML = document.documentElement.outerHTML;

演示,演示了Marc B的想法没有提供期望的结果的示例:http://jsfiddle.net/AlienWebguy/hu2Mj/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7934960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档