1. 程式人生 > >Python 下載貼吧圖片到指定地址

Python 下載貼吧圖片到指定地址

#coding=utf-8
from urllib import request
import urllib
import re
import chardet

def mkdir(path):
    # 引入模組
    import os
    # 去除首位空格
    path = path.strip()
    # 去除尾部 \ 符號
    path = path.rstrip("\\")
    # 判斷路徑是否存在
    # 存在     True
    # 不存在   False
    isExists = os.path.exists(path)
    # 判斷結果
    if not isExists:
        # 如果不存在則建立目錄
        # 建立目錄操作函式
        os.makedirs(path)
        print
        path + ' 建立成功'
        return True
    else:
        # 如果目錄存在則不建立,並提示目錄已存在
        print
        path + ' 目錄已存在'
        return False
def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    return html
def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    encode_type = chardet.detect(html)
    html = html.decode(encode_type['encoding'])
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,r'C:\Users\41174\AppData\Local\Temp\change.py\image\%s.jpg' % x)
        x+=1
    return imglist

# 定義要建立的目錄
mkpath = r"C:\Users\41174\AppData\Local\Temp\change.py\image"
# 呼叫函式
mkdir(mkpath)
html = getHtml("https://tieba.baidu.com/p/2460150866?red_tag=1683736448")
print(getImg(html))