Home > Backend Development > Python Tutorial > Python gets website images

Python gets website images

巴扎黑
Release: 2016-12-09 11:27:56
Original
1272 people have browsed it

# zhouxianglh 2013.05.03 python3.3
import urllib.request
from html.parser import HTMLParser
import re
import os
import shutil
import time
url = "http://www.douban.com/"
filePath = "D:\\temp"
# 读也HTML
urlContent = urllib.request.urlopen(url);
data = str(urlContent.read())
# 初始化文件目录
if  os.path.isdir(filePath):
#     os.removedirs(filePath)
    shutil.rmtree(filePath)
elif os.path.isfile(filePath):
    os.remove(filePath)
os.makedirs(filePath)
# 生成唯一文件名
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 imageUrl in attrs:
                '获取src属性'
                if imageUrl[0] == 'src':
                    imageUrl = imageUrl[1]
                    imageUrl = re.sub("[\\\\']", "", imageUrl)
                    iamgeUrlArr = imageUrl.split("/")
                    imgFilePath = iamgeUrlArr[len(iamgeUrlArr) - 1]
                    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, " 出错:")
parser = MyHtmlParser()
# 解析HTML
parser.feed(data)
print("获取图片操作完成")
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template