- 我的需求是实时获取文字直播网站的数据(秒级同步,不使用频繁请求的方式)
- 我的做法是打开目标网站,在控制台执行js代码。具体步骤:先获取第一条数据,数据id存到js变量,定时0.1秒获取列表第一条数据,判断这条数据跟之前的js变量是否一致,一致则跳过,不一致则将当前数据存进数组,并把这条数据id赋值到js变量(充当下一次的第一个id),递归往下获取下一个兄弟dom,一直到找到最初的id号为止。然后把数据通过ajax发到我的后台。
- 我的问题是运行几分钟到十几分钟火狐浏览器会出现“某个网页让您的浏览器变慢了。您想如何处理呢”,谷歌浏览器则直接卡死不动。我有三个目标网站,其中一个能正常运行几天,另外两个则出现以上问题。
代码地址:github
希望好心的朋友能帮我运行分析一下代码。
既然它们是用的ajax方法更新页面,建议直接找到它们网站怎么更新数据的地方或者地址,然后自己加一个钩子。。。
补充:因为目标页面“使用websocket更新数据的,不定时断线重连,参数加密更换”,所以最终的方法是使用了
MutationObserver
1来监视列表元素的变化