python抓取網(wǎng)站圖片

# 抓取豆瓣圖片

import urllib.request

from html.parserimport HTMLParser

import re

import os

import shutil

import time

#設(shè)置url和存儲路徑

url ="http://www.douban.com/"

filePath ="D:\\temp"

# 讀取HTML

urlContent = urllib.request.urlopen(url);

data =str(urlContent.read())

# 初始化文件目錄

if os.path.isdir(filePath):

shutil.rmtree(filePath)# 遞歸刪除目錄樹

elif os.path.isfile(filePath):

os.remove(filePath)# 刪除文件

os.makedirs(filePath)# 創(chuàng)建目錄

# 生成唯一文件名

intFlag =0

def getTimeStr():

global intFlag

intFlag = intFlag +1

? ? return time.strftime("%H%M%S") +str(intFlag)

# 解析HTML

# HTMLParser方式解析,這里HTMLParser類似于抽象類

class MyHtmlParser(HTMLParser):

def handle_starttag(self, tag, attrs):

'獲取 img標簽'

? ? ? ? if tag =="img":

for imageUrlin attrs:

'獲取src屬性'

? ? ? ? ? ? ? ? print(imageUrl)

if imageUrl[0] =='src':

imageUrl = imageUrl[1]

#print(imageUrl)

? ? ? ? ? ? ? ? ? ? imageUrl = re.sub("[\\\\']","", imageUrl)

iamgeUrlArr = imageUrl.split("/")

#print(iamgeUrlArr)

? ? ? ? ? ? ? ? ? ? imgFilePath = iamgeUrlArr[len(iamgeUrlArr) -1]

#print("len(iamgeUrlArr)={0}, imgFilePath={1}".format(len(iamgeUrlArr), imgFilePath))

? ? ? ? ? ? ? ? ? ? try:

imgData = urllib.request.urlopen(imageUrl).read()

imgFilePath = filePath + os.sep + imgFilePath + getTimeStr() +".jpg"

? ? ? ? ? ? ? ? ? ? ? imageFile =open(imgFilePath,"wb")

imageFile.write(imgData)

imageFile.close()

print("下載文件", imageUrl,"成功,另存路徑:" + imgFilePath)

except:

print("****下載文件 ", imageUrl," 出錯:")

# 調(diào)用抓取圖片的API進行抓取

parser = MyHtmlParser()

# 解析HTML

parser.feed(data)

print("獲取圖片操作完成")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容