gpt4 book ai didi

javascript - 获取 URL 的 HTML 内容更新

转载 作者:行者123 更新时间:2023-12-03 00:04:46 25 4
gpt4 key购买 nike

基本上我想要更新网络内容, https://www.investing.com/indices/indices-futures source

在道指 30 中,最后一个值正在 self 更新(从 Investing.com 服务器实时更新),我想知道是否有任何方法可以捕获值的变化而不请求再次访问网站,以便我可以异步更新我的代码。由于我在网上找到的有关更改通知的信息都是基于他们自己的 html,但就我而言,它是外部 url,所以我在这里要求获得一些见解

最佳答案

您可以在 Chrome 控制台中添加一些代码,并每秒跟踪该值以通知您。

let last_value = -1
let class_selector = 'pid-8873-last'
setInterval(function() {
let v = document.getElementsByClassName(class_selector)[0].innerText
if (v != last_value) {
console.log("Value as been updated to " + v)
last_value = v
}
}, 1000)

> Value as been updated to 25,799.5
> Value as been updated to 25,798.5

但是您必须打开浏览器,并在值更新时创建 ajax 请求。如果你不需要任何浏览器,但要运行到服务器上,你可以检查PhantomJS

<小时/>

使用 PHANTOMJS 进行编辑

它们是与 PhantomJS 一起使用时需要做的一些更新。

  • 您需要将 let 替换为 var
  • 文档无法访问,因此您需要使用评估
  • https 可能需要添加 --ssl-protocol=any

./test.js

var page = require('webpage').create();
page.open('https://www.investing.com/indices/indices-futures', function(status) {
var last_value = -1

setInterval(function() {
var value = page.evaluate(function() {
return document.getElementsByClassName('pid-8873-last')[0].innerText
})

if (value != last_value) {
console.log("Value as been updated to " + value)
last_value = value
}
}, 1000)
// phantom.exit()
})

然后从同一目录运行它:

# phantomjs test.js 
Value as been updated to 25,799.0

关于javascript - 获取 URL 的 HTML 内容更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com