繁体   English   中英

如何从网站获取 HTML 元素?

[英]How to get HTML elements from websites?

我一直在尝试查看是否可以以某种方式从“https:://www.yahoo.com”等网站获取 HTML 元素,例如 HTML 元素的新闻。

根据我收集到的信息,有人说只有 Javascript 是不可能的,而有人说这是可能的。 所以我想澄清一下我是否可以这样做。 如果没有,我想知道如果可能的话我能做些什么。

一些消息来源说我可以使用类似https://javascript.info/xmlhttprequest的东西。

附加信息:所以我目前正在尝试做的是查看是否有任何新内容已添加到网站中,例如他们的新闻提要,并对其进行持续检查/更新。

你的问题有点不清楚。 您想从哪里获取 HTML 元素? 你的代码在哪里运行?

根据您发布的链接,我假设您正在尝试从浏览器中的网页访问它。

不幸的是,如果网页在另一个域上,由于现代浏览器的安全限制,这样的事情是不可能的。

您唯一的机会是访问页面服务器端并将其传递到另一个 url(在同一域上)。 例如,如果您使用的是 PHP 服务器,您可以创建另一个 PHP 脚本,其中包含<?php readfile("https:://www.yahoo.com"); . 然后,您可以使用XMLHttpRequest (如您的链接所述)到您自己的 PHP 脚本来访问其内容。

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

在您的 html 文件中,并为 xmlhttprequest 使用 axios

<script>
    axios.get('https://www.yahoo.com') // or whatever you want
      .then(function (response) {
         console.log(response.data);
         console.log(response.status);
         console.log(response.statusText);
         console.log(response.headers);
         console.log(response.config);
  });
</script>

文档: https://github.com/axios/axios

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM