为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑8549860 2023-04-16 19:14:28
RT,想通过JS抓取远端的HTML页面并解析页面(能分别解析tag最好,不能的话正则吧)获取内容不是node.js就是本地的javascript(或者jquery)
查看完整描述

3 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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

查看完整回答
反对 回复 2023-04-20
?
慕沐林林

TA贡献2016条经验 获得超9个赞

如果你有远端服务器的权限,可以配置CORS,允许你的JS跨域抓取~

如果你木有远端服务器的权限,则需要用到代理~
一个超简单的PHP代理例子:proxy.php

<?php
    $html = file_get_contents('http://www.example.com/');    echo $html;?>


查看完整回答
反对 回复 2023-04-20
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

其实最大的限制就是其他人都提到的跨域问题。

跨域问题只能通过代理来解决,比如你写一个Server,专门写一个暴露给JS调用的接口用于抓取页面。

对于JS解析HTML的情况,答题思路两种:

1、真的做解析。这一块的库肯定有人已经写好了。建议直接到Github上搜索下.
2、讲抓取到的网页内容潜入到dom中,让浏览器帮你渲染好。然后你可以用JQ等方式简单地去获取你要的节点内容。

注意如果是第二点,你需要注意的是:
1、过滤掉内容中的script等标签,避免脚本执行
2、直接放在内存中渲染,不用append到页面,避免对你自己页面的影响。


查看完整回答
反对 回复 2023-04-20
  • 3 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信