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

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

时间: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:网站   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
海外推广干货分享:外贸网站在谷歌SEO排名上不去首页的16个原因
当外贸网站在谷歌SEO排名上无法进入首页时,可能有多种原因导致。以下是一些可能的原因: 缺乏优质内容:谷歌注重用户体验,对于提供有价值、相关且独特的内容的网页更倾向于排名靠...【详细内容】
2024-04-09  Search: 网站  点击:(2)  评论:(0)  加入收藏
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  Search: 网站  点击:(4)  评论:(0)  加入收藏
掌握独立站SEO策略,提升网站流量与排名
图片来源:https://guangxianchuangan.cn/在当今数字化时代,拥有一个独立网站对于企业和个人而言至关重要。然而,仅仅拥有一个网站是不够的,关键在于如何让更多的人发现并访问您...【详细内容】
2024-04-08  Search: 网站  点击:(5)  评论:(0)  加入收藏
机械设备B2B工厂外贸网站如何做Google谷歌SEO优化关键字排名?
在今天的全球化市场中,机械设备行业正面临着激烈的竞争。要在这一领域脱颖而出,拥有一个优化良好的B2B外贸网站至关重要。通过精准的谷歌SEO关键字排名,您的网站可以吸引更多海...【详细内容】
2024-04-08  Search: 网站  点击:(5)  评论:(0)  加入收藏
分析网站布局长尾词的三个黄金位置
亲爱的网站建设者们,你们是否遇到过这样的问题:如何在网站中布局长尾词,从而吸引更多的潜在客户并提升网站流量?今天,我将为大家提供一些实用的建议,帮助你们在网站的三个关键位置...【详细内容】
2024-04-03  Search: 网站  点击:(4)  评论:(0)  加入收藏
网站结构优化:提升收录与排名的关键步骤
亲爱的网站所有者们,您是否已经意识到网站结构优化对于提升网站收录和排名作为一位经验丰富的指导者,我深知网站结构优化是打造一个优秀网站的基石。下面,我将向您提供一些实用...【详细内容】
2024-04-03  Search: 网站  点击:(4)  评论:(0)  加入收藏
严查违规从事有偿中介活动,中纪委网站披露多起案例
近期,纪检监察机关查处通报的典型案例中,有不少涉及“违规从事有偿中介活动”违纪行为。其中,海南省委统战部原一级巡视员钟捷兴因严重违纪违法被开除党籍,通报指出其“违规从事...【详细内容】
2024-03-31  Search: 网站  点击:(5)  评论:(0)  加入收藏
网站成为搜索终点,需在seo优化方面下功夫
在互联网时代,网站已经成为企业、个人展示自己、传播信息的重要平台。然而,如何让更多的人看到你的网站,让网站成为搜索的终点,就需要在搜索引擎优化(SEO)方面下功夫。SEO优化不仅...【详细内容】
2024-03-28  Search: 网站  点击:(11)  评论:(0)  加入收藏
友情链接交换的考量标准——网站外链建设的重要环节
一、友情链接的重要性友情链接是网站外链建设的重要组成部分,对于网站的排名、流量、用户体验等方面都有着重要的影响。一个优秀的友情链接不仅可以提高网站的权重,还可以为网...【详细内容】
2024-03-28  Search: 网站  点击:(13)  评论:(0)  加入收藏
学生偷看“不良网站”,手机上3个痕迹无法清除,网友:咋不早说
众所周知,中国的常规教育中,总是“谈性色变”,但在这个信息爆炸的互联网时代,即便是一些年纪很小的孩子,也能轻易接触到一些所谓的不良网站,因此这一方面的教育缺失,其实是很可怕的...【详细内容】
2024-03-28  Search: 网站  点击:(11)  评论:(0)  加入收藏
▌简易百科推荐
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  JOYSSL爆爆    Tags:网站   点击:(4)  评论:(0)  加入收藏
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27    见方天地  Tags:SSL证书   点击:(11)  评论:(0)  加入收藏
HTTPS网站怎么实现
HTTP协议迁移到HTTPS,以提供更加安全的网络环境并增强用户信任。那么,如何将一个使用HTTP的网站安全升级到HTTPS呢?我们需要理解HTTP和HTTPS的区别。HTTP,即超文本传输协议,是一...【详细内容】
2024-03-27  倏然间    Tags:HTTPS   点击:(6)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  帝恩思DNS    Tags:SSL证书   点击:(7)  评论:(0)  加入收藏
网站运营的好与坏主要决定因素是内容与seo优化
在这个信息爆炸的时代,网站如雨后春笋般涌现,如何在众多网站中脱颖而出,吸引更多的访问者,成为了每一个网站运营者关心的问题。我们不禁要问,是什么决定了网站运营的好与坏呢?答案...【详细内容】
2024-03-26  易华合讯    Tags:网站运营   点击:(9)  评论:(0)  加入收藏
网站制作不再难:小白也能上手的建站教程
在互联网高速发展的时代,网站已成为企业、个人展示自身形象和实力的重要窗口。过去,网站制作对于许多人来说是一项技术活,需要专业的知识和经验。但随着技术的进步,现在即便是没...【详细内容】
2024-03-24  一度旭展互联网科技    Tags:网站制作   点击:(5)  评论:(0)  加入收藏
想建个网站赚钱?先来看看这篇建站指南吧
随着互联网的飞速发展,越来越多的人希望通过建立自己的网站来实现创业梦想或者赚取额外的收入。但建站并非一蹴而就的简单事情,它需要综合策划、设计、技术和运营等多方面的知...【详细内容】
2024-03-21  一度旭展互联网科技    Tags:网站   点击:(4)  评论:(0)  加入收藏
个人站长的出路在哪?
个人站长的出路在于不断适应互联网的发展趋势,积极寻求创新和变革。以下是一些个人站长可以考虑的出路: 转型为内容创作者:随着内容营销的兴起,越来越多的企业和个人开始注重内...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(39)  评论:(0)  加入收藏
网络环境和用户需求不断变化,个人站长该怎么办?
个人站长是一个相对特殊的群体,他们通常以个人身份独立运营网站,没有大型企业或组织的支持。由于缺乏资源和大企业的光环,个人站长需要更加注重策略和技巧,才能在竞争激烈的网络...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(33)  评论:(0)  加入收藏
AI时代 个人站长还有出路吗?
AI时代,个人站长依然有出路,但需要进行一些调整和转型。首先,利用AI工具可以帮助个人站长提高效率和产出质量。例如,利用AI进行内容创作、智能推荐、用户画像分析等,可以大大提升...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(43)  评论:(0)  加入收藏
站内最新
站内热门
站内头条