自建获取网站所有图片链接API

自建获取网站所有图片链接API


------正文内容展示,开始汲取新知识啦------

前言

昨天不是让GPT写了个一键下载TXT文本中所有图片链接的API接口嘛,自己感觉获取图片URL这个步骤有点麻烦,今天突然想到能不能让GPT写一个接口用来获取网站页面内的所有图片链接(其实是我想让他写一个扒站接口,但是他不给我写),结果还真的可以,下面是经过了GPT几次修改以后生成的代码,以及相关依赖的安装方式。

PHP源码

直接输出图片链接格式代码

<?php
require_once 'vendor/autoload.php'; // Make sure to install the Goutte library using Composer

use Goutte\Client;

// Target website URL
$websiteUrl = isset($_GET['url']) ? $_GET['url'] : '';

$client = new Client();
$crawler = $client->request('GET', $websiteUrl);

// Get the raw HTML source code of the page
$htmlSource = $crawler->html();

// Extract image URLs from the raw HTML source
$imageLinks = [];
preg_match_all('/<img[^>]+src="([^"]+)"/', $htmlSource, $matches);

foreach ($matches[1] as $imageUrl) {
    // Check if the image URL is absolute or relative
    if (strpos($imageUrl, 'http') !== 0) {
        $imageUrl = rtrim($websiteUrl, '/') . '/' . ltrim($imageUrl, '/');
    }
    
    $imageLinks[] = $imageUrl;
}

// Output the image links with <br> tags for line breaks
echo implode("<br>", $imageLinks);
?>

Json输出格式代码:

<?php
require_once 'vendor/autoload.php'; // Make sure to install the Goutte library using Composer

use Goutte\Client;

// Target website URL
$websiteUrl = isset($_GET['url']) ? $_GET['url'] : '';

$client = new Client();
$crawler = $client->request('GET', $websiteUrl);

// Get the raw HTML source code of the page
$htmlSource = $crawler->html();

// Extract image URLs from the raw HTML source
$imageLinks = [];
preg_match_all('/<img[^>]+src="([^"]+)"/', $htmlSource, $matches);

foreach ($matches[1] as $imageUrl) {
    // Check if the image URL is absolute or relative
    if (strpos($imageUrl, 'http') !== 0) {
        $imageUrl = rtrim($websiteUrl, '/') . '/' . ltrim($imageUrl, '/');
    }
    
    $imageLinks[] = $imageUrl;
}

// Output the image links as JSON
header('Content-Type: application/json');
echo json_encode($imageLinks, JSON_PRETTY_PRINT);
?>

使用教程

  • 在自己的api站点内新建文件夹,如imgurl,进入文件夹新建index.php并把上方代码复制粘贴进去然后保存
  • 在PHP管理界面删除禁用函数proc_open
  • 安装Goutte库和生成autoload.php(下方有详细教程)
  • 然后就搭建好了,接口地址为http(s)://yourapidomain/imgurl/?url=

安装依赖

安装Goutte库

  1. 首先,确保已经安装了 Composer。如果尚未安装,请按照 Composer 的官方文档进行安装:https://getcomposer.org/download/
  2. 打开终端(命令行界面)。
  3. 进入项目的根目录,运行以下命令来安装 Goutte
  4. 安装完成后,将在的项目目录中看到一个 vendor 文件夹,其中包含 Goutte 包及其依赖项。
composer require fabpot/goutte

生成autoload.php

  1. 确保已经在项目根目录中运行了 Composer 安装命令,以便安装了 Goutte 包和其他依赖项。如果尚未安装,请按照我之前提供的步骤进行安装。
  2. 打开终端(命令行界面)。
  3. 进入项目的根目录,运行以下命令以生成 autoload.php 文件:
composer dump-autoload -o

请注意,每当通过 Composer 安装新的包或进行类加载方面的更改时,都应该重新运行上述命令,以确保自动加载文件保持最新。

参数

url:要获取图片链接的网站,例如https://zhuanlan.zhihu.com/p/510707808

完整请求格式示例:https://example.com/imgurl/?url=https://zhuanlan.zhihu.com/p/510707808

究极进化版

我又让GPT给代码完善了一下,现在是访问api的话,他会把网站上的所有图片都下载到服务器上然后压缩成一个zip压缩包并提供下载,下载完毕之后会自动删除压缩包以及下载到服务器上的图片

(本文经作者同意后发布,来源于樱花小镇博客

温馨提示:本文最后更新于2023-09-25 01:04:20,某些文章具有时效性,若有错误或已失效,请私信客服或联系知新社长
------本文内容已结束,喜欢请分享------

感谢您的访问,Ctrl+D收藏本站吧。

自建获取网站所有图片链接API-知新网
自建获取网站所有图片链接API
此内容为付费阅读,请付费后查看
200积分
供学习和研究使用,请在下载后24小时内删除
购买前可以联系作者确认资源信息,防止交易矛盾
会员特权
技术支持
自动发货
网络收集
付费阅读
© 版权声明
九月 21

知岛上的今时往日

    "吼吼~,往年的今天,作者不知道跑哪里偷懒去了~"
THE END
点赞0投币 分享
评论 抢沙发
头像
善语结善缘,恶言伤人心。(禁止发送无意义的字符)
提交
头像

昵称

夸夸Ta
夸夸
还有吗!没看够!
取消
昵称表情代码图片

    暂无评论内容

社区求救信号帮助是一种美德