gpt4 book ai didi

javascript - 如何从命令行获取使用 javascript 的远程网页的信息来显示该网站上的信息?

转载 作者:行者123 更新时间:2023-11-28 05:12:47 26 4
gpt4 key购买 nike

我需要一些关于从(远程)获取信息的帮助网站。

作为示例,请考虑此处的大学页面:

https://ufind.univie.ac.at/de/course.html?lv=300448&semester=2016S

它是德语的,但不要介意;对我来说,相关部分是“Prüfungstermine”可以翻译为“即将到来的考试”。

在我的浏览器 (firefox) 上,我看到标记了下一次即将进行的考试红色。您或许也能看到这一点。现在是一月2017年17号。

我正在尝试从命令行从 ruby​​ 获取此信息。通常情况下,使用 ruby​​ 的 open-uri 模块可以正常工作。

问题是该网站上的此信息似乎没有成为页面本身的一部分 - 无论如何,不​​是通过“查看源代码” - 但是相反,假设是通过某些 javascript 触发的显示来显示的。

所以我不太确定我必须以编程方式访问哪些选项这个,e. G。从命令行。

我通读了发送的不同页面的源代码并找到一两个可能相关的片段:

(1) 首先,接下来的所有考试都将通过名为的标签显示模板如:

<template id="examlinelink">
<a href="exam.html?prueid=" class="link">
<span class="mark"><abbr title='nächster Prüfungstermin'>N</abbr></span>
<span class="day"></span>
<span class="date"></span>
<span class="time"></span>
<span class="room"></span>
</a>
</template>

这显然是一个href超链接。奇怪的是它表明作为 href '="exam.html?prueid="' 但在我的浏览器中显示为'https://ufind.univie.ac.at/de/exam.html?prueid=1001779&lv=300185&semester=2016S '所以我再次假设 javascript 修改了 href 值 - 否则我无法解释为什么它会出现更长的链接。

有人对这里可以做什么有任何想法或建议吗?

当我能够以编程方式查找下一次考试时,我可以通过正则表达式轻松获得;但我不知道如何还从命令行评估了远程页面的 javascript,所以我有点不知所措。

谢谢。

最佳答案

使用火狐 Network Monitor ,您可以看到为此website下载的所有数据(css、html、js和xml) .

main.html只是一个空结构,里面用了一堆htmljs来添加信息。例如。这个html还有这个javascript .

但是数据从哪里来呢?只有一个 xml 文件,大小约为 12kb。 Bingo .

在确保可以自动执行此类任务后,您只需下载 XML 文件并使用 nokogiri 对其进行解析即可。 .

关于javascript - 如何从命令行获取使用 javascript 的远程网页的信息来显示该网站上的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41224098/

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