您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

使用开放接口:轻松创建个性化图片网站

时间:2023-09-14 14:42:48  来源:微信公众号  作者:攻城狮成长日记

在进行文章撰写时,寻找适当的配图是一项重要的任务。然而,尽管我尝试在各大网站上寻找合适的图片资源,但往往面临两个主要问题:其一,这些网站大多需要付费使用,这无疑增加了我的经济负担;其二,即使有些网站提供免费图片,但其质量却令人堪忧。

为了解决这个令人头疼的问题,我自己动手一个搜索图片的网站,解决了日常文章配图的问题。整体的界面如下:

图片的加载采用瀑布流的模式。

这个网站是站在巨人的肩膀上完成的,为什么这么说呢?图片的来源是调用头条号的图片库,前端是使用Github开源的瀑布流插件。

分析头条图片库的API

打开头条号发布文章,点击添加图片,会出现如下图

通过分析这个接口,发现它并没有做认证,携带几个路径参数。

在无痕浏览器重放这个接口,这能正常获取数据,如下图:

现在图片的数据源找到了,可以把它做成接口,给前端用户调用了。这里我选择熟悉的FastAPI做接口。

接口代码实现

从上述分析接口发现,路径参数只有三个参数是动态变化的。所以,我们把它做成变量的形式:

from pydantic import BaseModel

class TuotiaoParams(BaseModel):
    page: int=0#图片页数
    size: int = 30#展示图片的数量
    term: str=None#搜索的关键字

然后,把请求头条号API接口封装成一个函数,方便后续调用:

import requests
from fake_useragent import UserAgent
from schemas import TuotiaoParams
from loguru import logger
def search_pic(params:TuotiaoParams):
    try:

        url = "https://dficimage.toutiao.com/api/proxy/get"
        params = {
            "from": params.page,
            "size": params.size,
            "term": params.term,
            "search_id": 7274062948258316581,
            "user_id": 68783357974,
            "media_id": 1609422238702596,
            "search_from": "search",
            "position": "article_icstock",
            "platform": "toutiaohao",
            "path": "/micro/search"
        }
        res = requests.get(
            url,
            params=params,
            headers={"User-Agent":UserAgent().random},
            timeout=10
            )
        if res.json().get("code") == 1:
            logger.info("获取头条的图片的数据:{}".format(res.json()))
            return res.json().get("data").get("data").get("hits")
    except Exception as e:
        logger.error('抓取头条的图片错误:{}'.format(e))

利用FastAPI把头条号API做成接口模式:

from  fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from toutiao import search_pic
from schemas import SearchKeyWork,TuotiaoParams
import uvicorn

App = FastAPI()

# 添加跨域中间件
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],  # 允许所有来源访问
    allow_methods=["*"],  # 允许所有HTTP方法
    allow_headers=["*"],  # 允许所有HTTP头
)


@app.post("/image_toutAIo")
def iamge_toutiao(params:TuotiaoParams):
    return {"code":1,"data":search_pic(params)}

if __name__ == "__main__":
    uvicorn.run(app)

执行如下代码启动程序,就可以正常访问接口:

Python/ target=_blank class=infotextkey>Python main.py

这样后台的接口,就完成了。

前端搭建

前端采用的github上开源的瀑布流图片展示模板,然后,自己添加搜索功能的。

https://github.com/heikaimu/vue3-waterfall-plugin

下载vue3-waterfall-plugin项目到本地,执行如下代码安装依赖:

pnpm install

安装完依赖,执行如下代码,启动前端:

pnpm run dev

启动成功之后,输入想要的图片进行搜索,如图:

  • 项目的地址: https://github.com/didiplus/vue3-waterfall-plugin
  • 演示地址: http://img.kwpmp.cn/
  • 演示备用地址: https://cerulean-florentine-527213.NETlify.app/


Tags:网站   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
在进行文章撰写时,寻找适当的配图是一项重要的任务。然而,尽管我尝试在各大网站上寻找合适的图片资源,但往往面临两个主要问题:其一,这些网站大多需要付费使用,这无疑增加了我的经...【详细内容】
2023-09-14  Tags: 网站  点击:(0)  评论:(0)  加入收藏
在互联网时代,搜索引擎优化(SEO)是提升网站在搜索引擎结果页排名的重要策略。通过SEO优化,网站可以获得更多的有机流量和曝光机会。然而,有时候我们会遇到一个问题:为什么网站经过...【详细内容】
2023-09-12  Tags: 网站  点击:(6)  评论:(0)  加入收藏
前端测试是一种验证网站或移动应用程序的图形界面的技术,以确保它们没有缺陷。这种测试有助于用户获得无缝的应用程序使用体验,并帮助他们快速浏览。想要学习前端技术,可以参加...【详细内容】
2023-09-11  Tags: 网站  点击:(2)  评论:(0)  加入收藏
在互联网的浩瀚海洋中,百科类网站像一座无所不知的灯塔,照亮了人们求知的路。然而,随着信息时代的飞速发展,有些人开始质疑百科类网站的必要性。然而,我们可以明确地告诉你,百科类...【详细内容】
2023-08-24  Tags: 网站  点击:(22)  评论:(0)  加入收藏
您想预览WordPress网站的移动版本吗?预览移动布局可帮助您了解网站在移动设备上的外观。当您的网站正在开发中甚至上线时,在台式计算机上查看移动版本通常更容易。然后,您可以...【详细内容】
2023-08-16  Tags: 网站  点击:(8)  评论:(0)  加入收藏
带着问题继续: 哪些方面容易导致网站打开慢 页面打开时间多长属于正常 现在有打开速度为1.44秒还有没有优化的空间 全站https如何实现 优化网站的专业技巧有哪些 通常解决前...【详细内容】
2023-08-14  Tags: 网站  点击:(23)  评论:(0)  加入收藏
在本文中,我重点介绍了每个开发人员都应该知道的一些最有用的网站。这些工具具有增强开发人员工作流程和提高生产力的潜力。无论你是经验丰富的开发者还是刚刚起步,利用正确的...【详细内容】
2023-08-10  Tags: 网站  点击:(31)  评论:(0)  加入收藏
  不希望网站数据被ChatGPT白嫖?现在终于有办法了!  两行代码就能搞定,而且是OpenAI官方公布的那种。  刚刚,OpenAI在用户文档中更新了GPTBot的说明。  根据这一说明,内...【详细内容】
2023-08-09  Tags: 网站  点击:(30)  评论:(0)  加入收藏
【ITBEAR科技资讯】8月8日消息,随着人工智能技术的迅猛发展,大型语言模型成为AI领域的一大热点。OpenAI旗下的GPT模型在自然语言处理方面取得了显著的进展,但在训练过程中却涉...【详细内容】
2023-08-08  Tags: 网站  点击:(37)  评论:(0)  加入收藏
本文概要:1. OpenAI 现允许网站屏蔽其网络爬虫,以防止其抓取网站内容训练 GPT 模型的。2. 阻止 GPTBot 可能是 OpenAI 允许互联网用户选择不让其数据用于训练其大型语言模型...【详细内容】
2023-08-08  Tags: 网站  点击:(28)  评论:(0)  加入收藏
▌简易百科推荐
在进行文章撰写时,寻找适当的配图是一项重要的任务。然而,尽管我尝试在各大网站上寻找合适的图片资源,但往往面临两个主要问题:其一,这些网站大多需要付费使用,这无疑增加了我的经...【详细内容】
2023-09-14  攻城狮成长日记  微信公众号  Tags:网站   点击:(0)  评论:(0)  加入收藏
在互联网的浩瀚海洋中,百科类网站像一座无所不知的灯塔,照亮了人们求知的路。然而,随着信息时代的飞速发展,有些人开始质疑百科类网站的必要性。然而,我们可以明确地告诉你,百科类...【详细内容】
2023-08-24  简易百科    Tags:百科   点击:(22)  评论:(0)  加入收藏
当您想要提高网站性能时,需要考虑许多不同的配置和设施,CDN和ADN是我们常遇见的几种选项之一。“CDN”指“内容分发网络”,而“ADN”指“应用程序交付网络”,但他们两者很容易被...【详细内容】
2023-08-23  火伞云    Tags:CDN   点击:(21)  评论:(0)  加入收藏
HTTP状态码(HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以...【详细内容】
2023-08-16    尚硅谷教育  Tags:HTTP状态码   点击:(22)  评论:(0)  加入收藏
带着问题继续: 哪些方面容易导致网站打开慢 页面打开时间多长属于正常 现在有打开速度为1.44秒还有没有优化的空间 全站https如何实现 优化网站的专业技巧有哪些 通常解决前...【详细内容】
2023-08-14  天外天ElevenLord    Tags:   点击:(23)  评论:(0)  加入收藏
大多数人可能并不知道,我们浏览和创建的网站上充斥着各种数字蜘蛛。其中最活跃的蜘蛛可能就是谷歌爬虫,它自动收集网页信息,以便谷歌可以在搜索结果中对其进行排名和展示。就在...【详细内容】
2023-08-10  智创狮    Tags:AI爬虫   点击:(28)  评论:(0)  加入收藏
本文概要:1. OpenAI 现允许网站屏蔽其网络爬虫,以防止其抓取网站内容训练 GPT 模型的。2. 阻止 GPTBot 可能是 OpenAI 允许互联网用户选择不让其数据用于训练其大型语言模型...【详细内容】
2023-08-08  站长之家    Tags:OpenAI   点击:(28)  评论:(0)  加入收藏
在现代社会,网页已经成为企业、个人展示和宣传的重要窗口,因此掌握网页制作技能是非常有必要的。今天,我们将为大家介绍十款优秀的国外网页制作工具,哪怕是小白也能帮助你快速搭...【详细内容】
2023-08-01  趣谈前端    Tags:网页制作   点击:(52)  评论:(0)  加入收藏
如何搭建ai绘画软件,一个API接口即可实现!以触站AI的API接口为例,教大家如何搭建ai绘画网站!很详细的AI绘画网站API搭建教程!首先,我们在触站AI找到:API开放接口先来测试一下效果:AP...【详细内容】
2023-08-01  AI人工智能工具侠    Tags:AI绘画网站A   点击:(51)  评论:(0)  加入收藏
大数据时代给企业带来了无穷的商机,但同时对企业信息安全也带来了一定的风险。传统的HTTP网站,由于采用的是明文的数据传输方式进行数据交换,因此就存在数据被窃取的风险。当浏...【详细内容】
2023-08-01  互联网安安    Tags:https   点击:(44)  评论:(0)  加入收藏
站内最新
站内热门
站内头条