如何解决如何使用 Javascript 或 jQuery跨域CORS无 api从另一个网站提取数据
目标是获取电报群的成员总数。这个数字有一个唯一的 css 标识符,应该可以通过 jsoup 或其他方法获取。
使用电报 api 需要身份验证令牌,并使用这种方法我试图解决可能最终在其他地方使用的任何 api 密钥,因为此代码将用于开源项目并且最终可能导致密钥被泄露。
我正在尝试从此网站提取数据:https://api.allorigins.win/raw?url=https://tgstat.com/en/channel/@addStickers
组成员总数的 CSS 选择器为 .columns.large-2.medium-4.small-6.margin-bottom15 > div > .align-center > #text
我使用的代码有点过时了。
<script type="text/javascript">
fetch('https://api.allorigins.win/raw?url=https://api.allorigins.win/raw?url=https://tgstat.com/en/channel/@addStickers').then(function(response) {
response.html().then(function(members){
members.forEach(function(member){
document.getElementById("tg-members").innerHTML = (.columns.large-2.medium-4.small-6.margin-bottom15 > div > .align-center > #text)
});
});
}).catch(err => console.error(err));
</script>
我知道我做错了什么只是不确定。任何帮助表示赞赏。
它不必与 fetch 一起使用,可以与 jQuery 一起使用 .. 本质上我只需要获取要通过 document.getElementById 显示的纯 html 格式的成员数量
解决方法
我认为这是要使用的正确代码,但它只是没有根据需要拉取成员数量。它绕过了 CORS,但是我不知道如何为成员选择正确的 css,所以什么也没有发生......
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
var ExternalURL = "tgstat.com/en/channel/@addStickers"; // This address must not contain any leading "http://"
var ContentLocationInDOM = ".columns.large-2.medium-4.small-6.margin-bottom15 > div > .align-center > #text"; // If you're trying to get sub-content from the page,specify the "CSS style" jQuery syntax here,otherwise set this to "null"
$(document).ready(loadContent);
function loadContent()
{
var QueryURL = "https://api.codetabs.com/v1/proxy/?quest=" + ExternalURL;
$.getJSON(QueryURL,function(data){
if (data && data != null && typeof data == "object" && data.contents && data.contents != null && typeof data.contents == "string")
{
data = data.contents.replace();
if (data.length > 0)
{
if (ContentLocationInDOM && ContentLocationInDOM != null && ContentLocationInDOM != "null")
{
$('#telegramMembers').html($(ContentLocationInDOM,data));
}
else
{
$('#telegramMembers').html(data);
}
}
}
});
}
</script>
任何建议都会有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。