最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python做圖片搜索引擎并保存到本地詳情

 更新時間:2022年08月10日 11:46:34   作者:?王馨雅?  
這篇文章主要介紹了python做圖片搜索引擎并保存到本地詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下

前言

我們先說一下思路:先對目標網站發(fā)送請求,獲取html源碼,然后對源碼里面的所以圖片鏈接進行篩選,然后再次對圖片鏈接發(fā)送請求,然后保存。

思路大致是這樣,話不多說,直接上代碼:

用到的模塊:

import requests  #請求庫  第三方庫,需要安裝: pip install requests
import re        #篩選庫,py自帶,無需安裝

查找接口:

打開F12打開開發(fā)者工具,點擊網絡、Fetch/XHR、載荷、依次點下去,可以看到查詢參數(shù)有兩個,分別是:word:風景圖        queryWord:風景圖

我們可以利用這兩個查詢參數(shù)進行自定義:

我們要查找到真實的url地址,然后對url查詢參數(shù)自定義,點擊旁邊的標頭,我們看見了剛才的查詢參數(shù):word   和queryWord這兩個參數(shù),

接下來,我們使用讓用戶輸入?yún)?shù)值,然后進行傳參到url地址里面的word和queryWord參數(shù),

那么word和queryWord參數(shù),url地址里面就不能有了值了,使用{}被傳參,后面使用format函數(shù)對輸入的參數(shù)進行傳參{},最后形成我們需要的網址

word = input('請輸入要搜索的圖片:')
url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&logid=5853806806594529489&ipn=rj&ct=201326592&is=&fp=result&fr=ala&word={}&queryWord={}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=&expermode=&nojc=&isAsync=&pn=30&rn=30&gsm=1e&1658411978178='.format(word, word)
print(url) 打開網址就是你輸入的內容

下一步我們要對請求頭進行偽裝,防止被服務器識別為爬蟲程序

headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.39'}

判斷該文件夾是否存在,存在則創(chuàng)建,不存在則覆蓋;發(fā)送請求并打印源碼

if not os.path.exists(files): #假如沒有文件執(zhí)行以下代碼:
    os.makedirs(files) #有文件夾則覆蓋,沒有則創(chuàng)建
 
req=requests.get(url=url,headers=headers).text #獲取源碼
print(req)  #輸出源碼

正則式:

res='"thumbURL":"(.*?)"' #正則式
zhengze=re.findall(res,req)   #調用findall函數(shù)進行匹配

遍歷url地址并發(fā)送請求

i=1 #計數(shù)
for a in zhengze: #遍歷刷選后的網址        get_image(a,i) #將遍歷后的url地址傳到get-image這個函數(shù)
    i+=1  #每執(zhí)行一次加1
    print(a) #打印地址
    response=requests.get(url=a,headers=headers).content #獲取二進制文件

設置保存類型及保存位置

    file=files+word+str(i)+'張.jpg' #設置 文件夾 路徑+文件名以及類型 (完整地址)
    with open(file,'wb') as f: #寫二級制文件類型,并修改變量名
        f.write(response) #把獲取到的二進制文件寫入
        print(word+str(i)+'張.jpg''保存成功') #提示保存成功

那么接下來奉上完整源碼:

import re   #篩選url
import requests  #請求
import os  #創(chuàng)建文件夾
word = input('請輸入要搜索的圖片:')
url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&logid=5853806806594529489&ipn=rj&ct=201326592&is=&fp=result&fr=ala&word={}&queryWord={}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=&expermode=&nojc=&isAsync=&pn=30&rn=30&gsm=1e&1658411978178='.format(word, word)
#偽裝瀏覽器
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.39'}
 
files='D:/{}/'.format(word) #創(chuàng)建文件夾路徑
if not os.path.exists(files): #假如沒有文件執(zhí)行以下代碼:
    os.makedirs(files) #有文件夾則覆蓋,沒有則創(chuàng)建
req=requests.get(url=url,headers=headers).text #獲取源碼
res='"thumbURL":"(.*?)"' #正則式
zhengze=re.findall(res,req)  #篩選
i=1 #計數(shù)
for a in zhengze: #遍歷刷選后的網址        get_image(a,i) #將遍歷后的url地址傳到get-image這個函數(shù)
    i+=1  #每執(zhí)行一次加1
    print(a) #打印地址
    response=requests.get(url=a,headers=headers).content #獲取二進制文件
    file=files+word+str(i)+'張.jpg' #設置 文件夾 路徑+文件名以及類型 (完整地址)
    with open(file,'wb') as f: #寫二級制文件類型,并修改變量名
        f.write(response) #把獲取到的二進制文件寫入
        print(word+str(i)+'張.jpg''保存成功') #提示保存成功

我們來看看運行結果怎么樣:

 可以看到我搜索的是柴犬,對源碼中的每個圖片鏈接進行發(fā)送并保存。

那我保存的圖片是否是柴犬呢?我們看看吧:

可以看到保存的就是柴犬圖片并且創(chuàng)建了一個文件夾!

到此這篇關于python做圖片搜索引擎并保存到本地詳情的文章就介紹到這了,更多相關python圖片搜索引擎內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用Python可視化新冠疫情數(shù)據(jù)

    用Python可視化新冠疫情數(shù)據(jù)

    大家好,本篇文章主要講的是用Python可視化新冠疫情數(shù)據(jù),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python腳本設置超時機制系統(tǒng)時間的方法

    python腳本設置超時機制系統(tǒng)時間的方法

    這篇文章主要介紹了python腳本設置超時機制系統(tǒng)時間的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 異步任務隊列Celery在Django中的使用方法

    異步任務隊列Celery在Django中的使用方法

    對于網站來說,給用戶一個較好的體驗是很重要的事情,其中最重要的指標就是網站的瀏覽速度。因此服務端要從各個方面對網站性能進行優(yōu)化,這篇文章主要介紹了異步任務隊列Celery在Django中的使用方法,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python re庫的正則表達式入門學習教程

    python re庫的正則表達式入門學習教程

    這篇文章主要給大家介紹了關于python re庫的正則表達式的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Python實現(xiàn)數(shù)值積分方式

    Python實現(xiàn)數(shù)值積分方式

    今天小編就為大家分享一篇Python實現(xiàn)數(shù)值積分方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python基礎編程小實例之計算圓的面積

    python基礎編程小實例之計算圓的面積

    Python是最常用的編程語言,這種語言就是一種可以快速開發(fā)應用的解釋型語言,有些用戶不知道該怎么在Python編程里計算圓的面積,現(xiàn)在就給大家具體解釋一下,下面這篇文章主要給大家介紹了關于python基礎編程小實例之計算圓的面積的相關資料,需要的朋友可以參考下
    2023-03-03
  • django學習之ajax post傳參的2種格式實例

    django學習之ajax post傳參的2種格式實例

    AJAX除了異步的特點外,還有一個就是:瀏覽器頁面局部刷新,下面這篇文章主要給大家介紹了關于django學習之ajax post傳參的2種格式的相關資料,需要的朋友可以參考下
    2021-05-05
  • Python實現(xiàn)識別XSS漏洞的方法詳解

    Python實現(xiàn)識別XSS漏洞的方法詳解

    XSS(跨站腳本攻擊)作為一種常見的網絡安全漏洞,經常被黑客用來攻擊網站。這篇文章主要介紹了如何利用Python 識別 XSS 漏洞,需要的可以參考一下
    2023-02-02
  • python寫完程序怎么運行的兩種方式

    python寫完程序怎么運行的兩種方式

    這篇文章主要介紹了Python的兩種運行方式,分別是命令行和交互式命令行,并詳細講解了如何在命令行和交互式命令行中運行Python代碼,需要的朋友可以參考下
    2025-03-03
  • python 環(huán)境搭建 及python-3.4.4的下載和安裝過程

    python 環(huán)境搭建 及python-3.4.4的下載和安裝過程

    這篇文章主要介紹了python 環(huán)境搭建 python-3.4.4的下載和安裝過程,文中給大家補充介紹了pycharm的基本用法,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07

最新評論

英德市| 米易县| 自治县| 石柱| 洱源县| 四平市| 勐海县| 湘阴县| 自贡市| 巴青县| 嘉黎县| 金山区| 嘉定区| 逊克县| 泰和县| 清丰县| 石楼县| 页游| 葵青区| 黔南| 鄂托克旗| 沛县| 藁城市| 乡宁县| 凤庆县| 西平县| 公主岭市| 仁布县| 进贤县| 富阳市| 呼图壁县| 微山县| 金门县| 丹凤县| 南陵县| 富宁县| 通化市| 安仁县| 柘城县| 八宿县| 连山|