返回信息流最近在用.net写有关网络爬虫的东西。
但是发现很多网页都有javascript的脚本,因此许多东西没法处理。我用webrequest得到的是含有<javascript>的html文件。不知道怎么得到显示出来的没有脚本的html文件?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #8182同步于 2009/7/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
[求助] 页面中含有javascript是怎么得到生成的html源码
ycline
2009/7/18镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
用正则过滤之
【 在 ycline (line) 的大作中提到: 】
: 最近在用.net写有关网络爬虫的东西。
: 但是发现很多网页都有javascript的脚本,因此许多东西没法处理。我用webrequest得到的是含有<javascript>的html文件。不知道怎么得到显示出来的没有脚本的html文件?
那你看看有没有现成的js解释器
或者你自己写一个....
【 在 ycline (line) 的大作中提到: 】
: 过滤什么?
: 我想要脚本生成的html的代码。。
那要是碰到其他动态的,比如ajax呢?
像我们把动态网页另存为,再去看源码,这个时侯得到就是没有脚本的html了。
我就想得到这个html,要不有些url和dom tree是得不到的。
【 在 dickfu 的大作中提到: 】
: 那你看看有没有现成的js解释器
: 或者你自己写一个....
直接另存的方式也不管用吧。
一般浏览器查看原来码都是原始下载的内容。。
要实现你说的那种功能应该只能是模拟出一个浏览器环境,解释javascript,然后得到它最后的DOM, 不过目前的没有搜索引擎会这么干吧~
或者也可以扩展一下浏览器,然后去调用浏览器的结果。不过这样代价似乎大了点。
【 在 ycline 的大作中提到: 】
: 那要是碰到其他动态的,比如ajax呢?
: 像我们把动态网页另存为,再去看源码,这个时侯得到就是没有脚本的html了。
: 我就想得到这个html,要不有些url和dom tree是得不到的。
看看.net里面js虚拟机之类的。要不然你就自己写js的解析和运行吧。
【 在 ycline (line) 的大作中提到: 】
: 最近在用.net写有关网络爬虫的东西。
: 但是发现很多网页都有javascript的脚本,因此许多东西没法处理。我用webrequest得
: 到的是含有<javascript>的html文件。不知道怎么得到显示出来的没有脚本的html文件?
我猜……
楼主是要当网页出现类似情况时,怎么能得一个经过浏览器解析js之后的html。
<html>
<head>
<script>
function run(){
document.getElementById("main").innerHTML = "Hello world!";
}
</script>
</head>
<body onload="run();">
<div id=main />
</body>
</html>
【 在 leo9945 的大作中提到: 】
: 我真的不知道你要干什么,但是js很多代码写的时候已经和htm完全剥离开的。如果是页面里有的很可能直接写在htm代码里,很难完全剥离吧