RT,想通过JS抓取远端的HTML页面并解析页面(能分别解析tag最好,不能的话正则吧)获取内容不是node.js就是本地的javascript(或者jquery)
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
nodejs做采集可行,但是受制于并发性效率不会很高,你说的本地js是指什么?jquery不是前端框架么,浏览器端通常不支持跨域访问,非要在浏览器端实现的话,可以考虑用ajax回调
慕沐林林
TA贡献2016条经验 获得超9个赞
如果你有远端服务器的权限,可以配置CORS,允许你的JS跨域抓取~
如果你木有远端服务器的权限,则需要用到代理~
一个超简单的PHP代理例子:proxy.php
<?php $html = file_get_contents('http://www.example.com/'); echo $html;?>
人到中年有点甜
TA贡献1895条经验 获得超7个赞
其实最大的限制就是其他人都提到的跨域问题。
跨域问题只能通过代理来解决,比如你写一个Server,专门写一个暴露给JS调用的接口用于抓取页面。
对于JS解析HTML的情况,答题思路两种:
1、真的做解析。这一块的库肯定有人已经写好了。建议直接到Github上搜索下.
2、讲抓取到的网页内容潜入到dom中,让浏览器帮你渲染好。然后你可以用JQ等方式简单地去获取你要的节点内容。
注意如果是第二点,你需要注意的是:
1、过滤掉内容中的script等标签,避免脚本执行
2、直接放在内存中渲染,不用append到页面,避免对你自己页面的影响。
添加回答
举报
0/150
提交
取消