node.js 获取网页的html问题
发布于 9天前 作者 lay923 257 次浏览 来自 问答

我用的是chrome浏览器,有些网页 “查看网页源代码” 跟 “ 审核元素” 看到的代码不一样 我想做一个网页的爬虫,但是有些文字内容text 在 “ 审核元素” 中才能看到, “查看网页源代码” 中找不到。

var html = ""; var url = "http://xiaoyuan.zhaopin.com/other/page?r=http://jobs.zhaopin.com/676023527250036.htm"; http.get(url, function(res) {
res.on('data’, function(data) {
html += data;
}).on('end’, function() {
fs.writeFile("./a.html", html); });
console.log(“over”);
});

这样获取到的网页代码跟 “查看网页源代码” 中的一样,并没有我想要的 网页文字内容 我想问,怎样才可以把 “ 审核元素”中的html 取下来呢?好让我获取到想要的内容

7 回复
<div class="markdown-text"><p>我用的是chrome浏览器,有些网页 “查看网页源代码” 跟 “ 审核元素” 看到的代码不一样
我想做一个网页的爬虫,但是有些文字内容text 在 “ 审核元素” 中才能看到,  “查看网页源代码” 中找不到。</p>
<p>var html = &quot;&quot;;
var url = &quot;<a href="http://xiaoyuan.zhaopin.com/other/page?r=http://jobs.zhaopin.com/676023527250036.htm">http://xiaoyuan.zhaopin.com/other/page?r=http://jobs.zhaopin.com/676023527250036.htm</a>&quot;;
http.get(url, function(res) {<br>
res.on('data’, function(data) {<br>
html += data;<br>
}).on('end’, function() {<br>
fs.writeFile(&quot;./a.html&quot;, html);
});<br>
console.log(“over”);<br>
});</p>
<p>这样获取到的网页代码跟  “查看网页源代码” 中的一样,并没有我想要的 网页文字内容
我想问,怎样才可以把 “ 审核元素”中的html 取下来呢?好让我获取到想要的内容</p>
</div>

这就是本页面查看源码看到的。你想要什么呢? 不过有的页面是用js渲染的,所以你获取的的是js 举个简单的例子 index.htm

<script>
document.write('hello world');
</script>

这个html你抓到的就是这个script片段,但是你在inspect element中就可以看到body下面hello world

@dayuoba 那估计是源代码里面有js负责显示内容了,你看看我http://xiaoyuan.zhaopin.com/other/page?r=http://jobs.zhaopin.com/676023527250036.htm 这个url,查看源代码里面没有 审核元素 里面的文字内容,但是我想抓取 审核元素里面 的文字内容,这样话要怎样做?

@lay923 没做过类似的需求,可能帮不到你

非显示在源码里的东西,你要模拟浏览器去取,可以用phantomjs之类的工具。

好的,也谢谢你了

里面是否有 <iframe>?

回到顶部