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

Python自動(dòng)爬取圖片并保存實(shí)例代碼

 更新時(shí)間:2022年01月02日 09:30:40   作者:清忖灬  
大家好,本篇文章主要講的是Python自動(dòng)爬取圖片并保存實(shí)例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

一、準(zhǔn)備工作

用python來實(shí)現(xiàn)對百度圖片的爬取并保存,以情緒圖片為例,百度搜索可得到下圖所示

f12打開源碼

在此處可以看到這次我們要爬取的圖片的基本信息是在img - scr中

二、代碼實(shí)現(xiàn)

這次的爬取主要用了如下的第三方庫

import re
import time
import requests
from bs4 import BeautifulSoup
import os

簡單構(gòu)思可以分為三個(gè)小部分

1.獲取網(wǎng)頁內(nèi)容

2.解析網(wǎng)頁

3.保存圖片至相應(yīng)位置

下面來看第一部分:獲取網(wǎng)頁內(nèi)容

baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'
head = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"}
    response = requests.get(baseurl, headers=head)  # 獲取網(wǎng)頁信息
    html = response.text  # 將網(wǎng)頁信息轉(zhuǎn)化為text形式

是不是so easy

第二部分解析網(wǎng)頁才是大頭

來看代碼

Img = re.compile(r'img.*src="(.*?)"')  # 正則表達(dá)式匹配圖片
soup = BeautifulSoup(html, "html.parser")  # BeautifulSoup解析html
    #i = 0  # 計(jì)數(shù)器初始值
    data = []  # 存儲(chǔ)圖片超鏈接的列表
    for item in soup.find_all('img', src=""):  # soup.find_all對網(wǎng)頁中的img—src進(jìn)行迭代
        item = str(item)  # 轉(zhuǎn)換為str類型
        Picture = re.findall(Img, item)  # 結(jié)合re正則表達(dá)式和BeautifulSoup, 僅返回超鏈接
        for b in Picture:
            data.append(b)
            #i = i + 1
            return data[-1]
 
    # print(i)

這里就運(yùn)用到了BeautifulSoup以及re正則表達(dá)式的相關(guān)知識(shí),需要有一定的基礎(chǔ)哦

下面就是第三部分:保存圖片

    for m in getdata(
            baseurl='https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'):
        resp = requests.get(m)  #獲取網(wǎng)頁信息
        byte = resp.content  # 轉(zhuǎn)化為content二進(jìn)制
        print(os.getcwd()) # os庫中輸出當(dāng)前的路徑
        i = i + 1 # 遞增
        # img_path = os.path.join(m)
        with open("path{}.jpg".format(i), "wb") as f: # 文件寫入
            f.write(byte)
            time.sleep(0.5) # 每隔0.5秒下載一張圖片放入D://情緒圖片測試
        print("第{}張圖片爬取成功!".format(i))

各行代碼的解釋已經(jīng)給大家寫在注釋中啦,不明白的地方可以直接私信或評論哦~

下面是完整的代碼

import re
import time
import requests
from bs4 import BeautifulSoup
import os
 
 
 
# m = 'https://tse2-mm.cn.bing.net/th/id/OIP-C.uihwmxDdgfK4FlCIXx-3jgHaPc?w=115&h=183&c=7&r=0&o=5&pid=1.7'
'''
resp = requests.get(m)
byte = resp.content
print(os.getcwd())
img_path = os.path.join(m)
'''
def main():
    baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'
    datalist = getdata(baseurl)
 
 
def getdata(baseurl):
    Img = re.compile(r'img.*src="(.*?)"')  # 正則表達(dá)式匹配圖片
    datalist = []
    head = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"}
    response = requests.get(baseurl, headers=head)  # 獲取網(wǎng)頁信息
    html = response.text  # 將網(wǎng)頁信息轉(zhuǎn)化為text形式
    soup = BeautifulSoup(html, "html.parser")  # BeautifulSoup解析html
    # i = 0  # 計(jì)數(shù)器初始值
    data = []  # 存儲(chǔ)圖片超鏈接的列表
    for item in soup.find_all('img', src=""):  # soup.find_all對網(wǎng)頁中的img—src進(jìn)行迭代
        item = str(item)  # 轉(zhuǎn)換為str類型
        Picture = re.findall(Img, item)  # 結(jié)合re正則表達(dá)式和BeautifulSoup, 僅返回超鏈接
        for b in Picture:  # 遍歷列表,取最后一次結(jié)果
            data.append(b)
            # i = i + 1
            datalist.append(data[-1])
    return datalist  # 返回一個(gè)包含超鏈接的新列表
    # print(i)
 
'''
with open("img_path.jpg","wb") as f:
    f.write(byte)
'''
 
if __name__ == '__main__':
    os.chdir("D://情緒圖片測試")
 
    main()
    i = 0  # 圖片名遞增
    for m in getdata(
            baseurl='https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'):
        resp = requests.get(m)  #獲取網(wǎng)頁信息
        byte = resp.content  # 轉(zhuǎn)化為content二進(jìn)制
        print(os.getcwd()) # os庫中輸出當(dāng)前的路徑
        i = i + 1 # 遞增
        # img_path = os.path.join(m)
        with open("path{}.jpg".format(i), "wb") as f: # 文件寫入
            f.write(byte)
            time.sleep(0.5) # 每隔0.5秒下載一張圖片放入D://情緒圖片測試
        print("第{}張圖片爬取成功!".format(i))

最后的運(yùn)行截圖

 三、總結(jié)

到此這篇關(guān)于Python自動(dòng)爬取圖片并保存實(shí)例代碼的文章就介紹到這了,更多相關(guān)Python爬取圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?使用BeautifulSoup庫的方法

    Python?使用BeautifulSoup庫的方法

    BeautifulSoup庫用于從HTML或XML文件中提取數(shù)據(jù),它可以自動(dòng)將復(fù)雜的HTML文檔轉(zhuǎn)換為樹形結(jié)構(gòu),并提供簡單的方法來搜索文檔中的節(jié)點(diǎn),使得我們可以輕松地遍歷和修改HTML文檔的內(nèi)容,本文給大家介紹Python?使用BeautifulSoup庫的方法,感興趣的朋友一起看看吧
    2023-10-10
  • 在Django的模型中添加自定義方法的示例

    在Django的模型中添加自定義方法的示例

    這篇文章主要介紹了在Django的模型中添加自定義方法的示例,Django是Python豐富多彩的web開發(fā)框架中最具人氣的一個(gè),需要的朋友可以參考下
    2015-07-07
  • 將自己的數(shù)據(jù)集制作成TFRecord格式教程

    將自己的數(shù)據(jù)集制作成TFRecord格式教程

    今天小編就為大家分享一篇將自己的數(shù)據(jù)集制作成TFRecord格式教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖

    matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖

    這篇文章主要介紹了matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 將python代碼和注釋分離的方法

    將python代碼和注釋分離的方法

    下面小編就為大家分享一篇將python代碼和注釋分離的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python設(shè)計(jì)模式結(jié)構(gòu)型享元模式

    Python設(shè)計(jì)模式結(jié)構(gòu)型享元模式

    這篇文章主要介紹了Python享元模式,享元模式即Flyweight Pattern,指運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對象,下面和小編一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧
    2022-02-02
  • 忘記ftp密碼的解決方法示例

    忘記ftp密碼的解決方法示例

    忘記ftp密碼了怎么辦?下面介紹一個(gè)使用python ftplib庫的方法,大家參考使用吧
    2014-01-01
  • Python使用Shelve保存對象方法總結(jié)

    Python使用Shelve保存對象方法總結(jié)

    在本篇文章里我們給大家分享的是關(guān)于Python使用Shelve保存對象的知識(shí)點(diǎn)總結(jié),有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • Pytorch distributed 多卡并行載入模型操作

    Pytorch distributed 多卡并行載入模型操作

    這篇文章主要介紹了Pytorch distributed 多卡并行載入模型操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python 保存加載mat格式文件的示例代碼

    Python 保存加載mat格式文件的示例代碼

    這篇文章主要介紹了Python 保存加載mat格式文件的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評論

嘉祥县| 临桂县| 张家口市| 吉隆县| 丽水市| 罗山县| 韩城市| 江陵县| 贡觉县| 汕尾市| 富顺县| 木兰县| 浪卡子县| 淳化县| 合肥市| 武清区| 清涧县| 余庆县| 宾阳县| 响水县| 茶陵县| 武冈市| 南通市| 沁阳市| 图木舒克市| 怀安县| 当涂县| 华宁县| 张家川| 聊城市| 迁西县| 汝南县| 班玛县| 通江县| 温泉县| 定兴县| 丰宁| 富锦市| 长治县| 襄垣县| 乐山市|