日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

利用開放接口,如何一步步打造自己的獨特圖片網站

來源: 責編: 時間:2023-09-18 21:41:54 340觀看
導讀在進行文章撰寫時,尋找適當的配圖是一項重要的任務。然而,盡管我嘗試在各大網站上尋找合適的圖片資源,但往往面臨兩個主要問題:其一,這些網站大多需要付費使用,這無疑增加了我的經濟負擔;其二,即使有些網站提供免費圖片,但其

在進行文章撰寫時,尋找適當的配圖是一項重要的任務。然而,盡管我嘗試在各大網站上尋找合適的圖片資源,但往往面臨兩個主要問題:其一,這些網站大多需要付費使用,這無疑增加了我的經濟負擔;其二,即使有些網站提供免費圖片,但其質量卻令人堪憂。1x528資訊網——每日最新資訊28at.com

為了解決這個令人頭疼的問題,我自己動手一個搜索圖片的網站,解決了日常文章配圖的問題。整體的界面如下:1x528資訊網——每日最新資訊28at.com

1x528資訊網——每日最新資訊28at.com

圖片的加載采用瀑布流的模式。1x528資訊網——每日最新資訊28at.com

這個網站是站在巨人的肩膀上完成的,為什么這么說呢?圖片的來源是調用頭條號的圖片庫,前端是使用github開源的瀑布流插件。1x528資訊網——每日最新資訊28at.com

分析頭條圖片庫的API

打開頭條號發布文章,點擊添加圖片,會出現如下圖1x528資訊網——每日最新資訊28at.com

1x528資訊網——每日最新資訊28at.com

通過分析這個接口,發現它并沒有做認證,攜帶幾個路徑參數。1x528資訊網——每日最新資訊28at.com

1x528資訊網——每日最新資訊28at.com

在無痕瀏覽器重放這個接口,這能正常獲取數據,如下圖:1x528資訊網——每日最新資訊28at.com

1x528資訊網——每日最新資訊28at.com

現在圖片的數據源找到了,可以把它做成接口,給前端用戶調用了。這里我選擇熟悉的FastAPI做接口。1x528資訊網——每日最新資訊28at.com

接口代碼實現

從上述分析接口發現,路徑參數只有三個參數是動態變化的。所以,我們把它做成變量的形式:1x528資訊網——每日最新資訊28at.com

from pydantic import BaseModelclass TuotiaoParams(BaseModel):    page: int=0#圖片頁數    size: int = 30#展示圖片的數量    term: str=None#搜索的關鍵字

然后,把請求頭條號API接口封裝成一個函數,方便后續調用:1x528資訊網——每日最新資訊28at.com

import requestsfrom fake_useragent import UserAgentfrom schemas import TuotiaoParamsfrom loguru import loggerdef 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做成接口模式:1x528資訊網——每日最新資訊28at.com

from  fastapi import FastAPIfrom fastapi.middleware.cors import CORSMiddlewarefrom toutiao import search_picfrom schemas import SearchKeyWork,TuotiaoParamsimport uvicornapp = 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)

執行如下代碼啟動程序,就可以正常訪問接口:1x528資訊網——每日最新資訊28at.com

python main.py

1x528資訊網——每日最新資訊28at.com

這樣后臺的接口,就完成了。1x528資訊網——每日最新資訊28at.com

前端搭建

前端采用的github上開源的瀑布流圖片展示模板,然后,自己添加搜索功能的。1x528資訊網——每日最新資訊28at.com

https://github.com/heikaimu/vue3-waterfall-plugin1x528資訊網——每日最新資訊28at.com

下載vue3-waterfall-plugin項目到本地,執行如下代碼安裝依賴:1x528資訊網——每日最新資訊28at.com

pnpm install

安裝完依賴,執行如下代碼,啟動前端:1x528資訊網——每日最新資訊28at.com

pnpm run dev

啟動成功之后,輸入想要的圖片進行搜索,如圖:1x528資訊網——每日最新資訊28at.com

1x528資訊網——每日最新資訊28at.com

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

本文鏈接:http://www.www897cc.com/showinfo-26-10473-0.html利用開放接口,如何一步步打造自己的獨特圖片網站

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python應知小技巧:如何用更少的代碼做更多的事情

下一篇: C語言操作寄存器和函數指針

標簽:
  • 熱門焦點
  • 一加Ace2 Pro官宣:普及16G內存 引領24G

    一加官方今天繼續為本月發布的新機一加Ace2 Pro帶來預熱,公布了內存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領,還有呢?#一加Ace2Pro#,2023 年 8 月,敬請期待。”同時
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • Java NIO內存映射文件:提高文件讀寫效率的優秀實踐!

    Java的NIO庫提供了內存映射文件的支持,它可以將文件映射到內存中,從而可以更快地讀取和寫入文件數據。本文將對Java內存映射文件進行詳細的介紹和演示。內存映射文件概述內存
  • Temu起訴SHEIN,跨境電商戰事升級

    來源 | 伯虎財經(bohuFN)作者 | 陳平安日前據外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein“利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 半導體需求下滑 三星電子DS業務部門今年營業虧損預計超10萬億韓元

    7月17日消息,據外媒報道,去年下半年開始的半導體需求下滑,影響到了三星電子、SK海力士、英特爾等諸多廠商,營收明顯下滑,部分廠商甚至出現了虧損。作為
Top 主站蜘蛛池模板: 外汇| 会宁县| 龙山县| 禹州市| 温州市| 乐昌市| 达州市| 浮梁县| 昌吉市| 上犹县| 河津市| 梅州市| 延边| 黄浦区| 颍上县| 自治县| 庆城县| 同德县| 河西区| 文安县| 常州市| 广州市| 泉州市| 武夷山市| 平度市| 永泰县| 法库县| 顺平县| 秀山| 来安县| 广西| 遂昌县| 东兰县| 永安市| 绵竹市| 新平| 平潭县| 井冈山市| 普定县| 夏河县| 紫云|