gpt4 book ai didi

jquery - 获取多个网址的网站标题/描述

转载 作者:行者123 更新时间:2023-12-01 08:40:28 29 4
gpt4 key购买 nike

我正在尝试获取网站图标、网站标题和外部 URL 列表的描述,最好使用 jquery。我已经成功地为我的网址同步了谷歌的图标服务,任何人都可以阐明如何实现网站标题和描述吗?这是我到目前为止获得图标的内容。

HTML

<li><a href="http://dribbble.com/">Dribbble</a></li>
<li><a href="http://behance.net">Behance</a></li>
<li><a href="http://www.danwebb.net">Dan Webb</a></li>

JQUERY

$("a[href^='http']").each(function() {
$(this).prepend('<img src="https://www.google.com/s2/favicons? domain=' + this.href + '">');
});

最佳答案

  • 您有多余的空间?域=
  • 此外,还可以使用 this.getAttribute("href") 或 jQuery 的 $(this).attr("href")
  • 使用https!!!

$("a[href^='http']").each(function() {
var href= this.getAttribute("href");
$(this).prepend('<img src="https://www.google.com/s2/favicons?domain='+ href +'">';
});
<li><a href="https://dribbble.com/">Dribbble</a></li>
<li><a href="https://behance.net">Behance</a></li>
<li><a href="https://www.danwebb.net">Dan Webb</a></li>

<script src="https://code.jquery.com/jquery-3.1.0.js"></script>

但是您肯定会遇到此错误:

...has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access

所以仅使用 JS 是不可能的。

<小时/>

PHP 来救援:

由于直接使用 AJAX 从不允许这样做的网站获取内容时存在 CORS 政策问题 - 您可以改为:

  1. AJAX GET 您的服务器上的 PHP 脚本,用于获取外部站点
  2. 现在内容位于您的域中,AJAX 将使用该内容进行响应。
  3. 使用 JS (jQuery) 解析响应数据以获取所需的元素属性值或文本。

grabber.php

<?php
echo file_get_contents($_GET["url"]);

index.html

<ul>
<li><a href="https://dribbble.com/">Dribbble</a></li>
<li><a href="https://behance.net">Behance</a></li>
<li><a href="https://www.danwebb.net">Dan Webb</a></li>
</ul>

<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script>
function grabber (url, el) {
$.ajax({
url: "grabber.php?url="+ url,
type: "GET",
success: function(data){
// console.log( data );

var $head = $(data).find("head");
var title = $head.find("title").text();
var desc = $head.find("meta[name='author']").attr("content");
console.log(title , desc);
$(el).append(" - "+ title +" - "+ desc);
}
});
}

$("a[href^='http']").each(function () {
var href= this.getAttribute("href");
$(this).prepend('<img src="https://www.google.com/s2/favicons?domain='+ href +'">';
grabber( href , this ); // this represent the current loop el.
});
<script>

关于jquery - 获取多个网址的网站标题/描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48052388/

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