日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
python怎么獲取網(wǎng)頁(yè)圖片
使用Python的requests庫(kù)和BeautifulSoup庫(kù),可以獲取網(wǎng)頁(yè)圖片。

什么是網(wǎng)頁(yè)圖片?

網(wǎng)頁(yè)圖片,顧名思義,就是存儲(chǔ)在網(wǎng)頁(yè)服務(wù)器上的圖片文件,這些圖片可以用于裝飾網(wǎng)頁(yè),提高用戶體驗(yàn),也可以用于傳遞信息,在Python中,我們可以通過多種方法獲取網(wǎng)頁(yè)上的圖片。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為海北州企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站,海北州網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

如何使用Python獲取網(wǎng)頁(yè)圖片?

1、使用requests庫(kù)和BeautifulSoup庫(kù)

我們需要安裝requests庫(kù)和BeautifulSoup庫(kù),可以使用以下命令進(jìn)行安裝:

pip install requests
pip install beautifulsoup4

接下來,我們可以使用requests庫(kù)獲取網(wǎng)頁(yè)內(nèi)容,然后使用BeautifulSoup庫(kù)解析HTML,最后通過查找img標(biāo)簽的src屬性獲取圖片鏈接。

import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')
for img in img_tags:
    img_url = img['src']
    print(img_url)

2、使用Scrapy框架

Scrapy是一個(gè)強(qiáng)大的網(wǎng)絡(luò)爬蟲框架,可以用來抓取網(wǎng)頁(yè)數(shù)據(jù),我們需要安裝Scrapy庫(kù):

pip install scrapy

接下來,我們可以創(chuàng)建一個(gè)Scrapy項(xiàng)目,并編寫爬蟲代碼,在爬蟲中,我們可以通過XPath或CSS選擇器定位到img標(biāo)簽,并提取圖片鏈接。

3、使用Selenium庫(kù)

Selenium是一個(gè)自動(dòng)化測(cè)試工具,也可以用來爬取網(wǎng)頁(yè)數(shù)據(jù),與requests庫(kù)相比,Selenium可以模擬用戶操作,如點(diǎn)擊按鈕、滾動(dòng)頁(yè)面等,這樣,我們可以獲取動(dòng)態(tài)加載的圖片,我們需要安裝Selenium庫(kù):

pip install selenium

接下來,我們需要下載瀏覽器驅(qū)動(dòng)程序(如ChromeDriver),并將其添加到系統(tǒng)路徑中,我們可以使用Selenium庫(kù)打開網(wǎng)頁(yè),定位到img標(biāo)簽,并獲取圖片鏈接,Selenium相對(duì)較慢,因?yàn)樗枰虞d整個(gè)網(wǎng)頁(yè),它通常不適用于抓取大量圖片。

如何保存獲取到的圖片?

我們可以使用PIL庫(kù)(Python Imaging Library)或OpenCV庫(kù)將獲取到的圖片保存到本地,我們需要安裝PIL庫(kù)或OpenCV庫(kù):

pip install pillow opencv-python

接下來,我們可以使用以下代碼將圖片保存到本地:

from PIL import Image
import requests
from io import BytesIO
from bs4 import BeautifulSoup
import cv2 as cv2
import numpy as np
from urllib.parse import urljoin
from pathlib import Path
import os
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')
save_path = 'images'   設(shè)置圖片保存路徑
os.makedirs(save_path, exist_ok=True)   如果目錄不存在,則創(chuàng)建目錄
for img in img_tags:
    img_url = img['src']   獲取圖片鏈接
    img_name = os.path.basename(img_url)   獲取圖片文件名(不包括擴(kuò)展名)
    img_data = requests.get(img_url).content   獲取圖片數(shù)據(jù)
    img_np = np.array(Image.open(BytesIO(img_data)))   將圖片數(shù)據(jù)轉(zhuǎn)換為NumPy數(shù)組
    img_np = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)   將圖片從BGR格式轉(zhuǎn)換為RGB格式(可選)
    Path(save_path, img_name).save(f'{save_path}/{img_name}')   將圖片保存到指定路徑(可選)

相關(guān)問題與解答

1、如何處理跨域請(qǐng)求?

答:如果網(wǎng)站使用了CORS(跨域資源共享)策略,我們可以直接使用requests庫(kù)獲取圖片;否則,我們需要在目標(biāo)網(wǎng)站上設(shè)置允許跨域請(qǐng)求,我們還可以使用代理IP繞過地域限制,具體方法如下:


分享文章:python怎么獲取網(wǎng)頁(yè)圖片
本文URL:http://m.5511xx.com/article/dhghshc.html