AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

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

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

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

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

9ME28資訊網——每日最新資訊28at.com

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

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

分析頭條圖片庫的API

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

9ME28資訊網——每日最新資訊28at.com

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

9ME28資訊網——每日最新資訊28at.com

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

9ME28資訊網——每日最新資訊28at.com

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

接口代碼實現

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

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

然后,把請求頭條號API接口封裝成一個函數,方便后續調用:9ME28資訊網——每日最新資訊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做成接口模式:9ME28資訊網——每日最新資訊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)

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

python main.py

9ME28資訊網——每日最新資訊28at.com

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

前端搭建

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

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

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

pnpm install

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

pnpm run dev

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

9ME28資訊網——每日最新資訊28at.com

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

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

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

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

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

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 影音體驗是真的強 簡單聊聊iQOO Pad

    大公司的好處就是產品線豐富,非常細分化的東西也能給你做出來,例如早先我們看到了新的vivo Pad2,之后我們又在iQOO Neo8 Pro的發布會上看到了iQOO的首款平板產品iQOO Pad。雖
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • 深度探索 Elasticsearch 8.X:function_score 參數解讀與實戰案例分析

    在 Elasticsearch 中,function_score 可以讓我們在查詢的同時對搜索結果進行自定義評分。function_score 提供了一系列的參數和函數讓我們可以根據需求靈活地進行設置。近期
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 最“俊美”淘寶賣家,靠直播和短視頻圈粉,上架秒光,年銷3000萬

    來源 | 電商在線文|易琬玉編輯|斯問受訪店鋪:Ringdoll戒之人形圖源:微博@御座的黃山、“Ringdoll戒之人形”淘寶店鋪有關外貌的評價,黃山已經聽累了。生于1985年的他,哪
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(niudaocaijing)7月5日,企鵝FM發布官方公告稱由于業務調整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業務走向消亡。騰訊在長音頻領域還在摸索。為
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記。  北京科技教育體驗基
Top