如下所示,想知道我的这种想法能实现么?

RT,想通过JS抓取远端的HTML页面并解析页面(能分别解析tag最好,不能的话正则吧)获取内容
不是node.js就是本地的javascript(或者jquery)

慕尼黑8549860
浏览 104回答 3
3回答

GCT1015

nodejs做采集可行,但是受制于并发性效率不会很高,你说的本地js是指什么?jquery不是前端框架么,浏览器端通常不支持跨域访问,非要在浏览器端实现的话,可以考虑用ajax回调

慕沐林林

如果你有远端服务器的权限,可以配置CORS,允许你的JS跨域抓取~如果你木有远端服务器的权限,则需要用到代理~一个超简单的PHP代理例子:proxy.php<?php &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;file_get_contents('http://www.example.com/');&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$html;?>

人到中年有点甜

其实最大的限制就是其他人都提到的跨域问题。跨域问题只能通过代理来解决,比如你写一个Server,专门写一个暴露给JS调用的接口用于抓取页面。对于JS解析HTML的情况,答题思路两种:1、真的做解析。这一块的库肯定有人已经写好了。建议直接到Github上搜索下.2、讲抓取到的网页内容潜入到dom中,让浏览器帮你渲染好。然后你可以用JQ等方式简单地去获取你要的节点内容。注意如果是第二点,你需要注意的是:1、过滤掉内容中的script等标签,避免脚本执行2、直接放在内存中渲染,不用append到页面,避免对你自己页面的影响。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript