python 3编写贴吧图片下载软件(超简单)

业余时间初学者作品,大佬勿喷,代码都很简单。

py文件打包成exe教程:python3.7 打包成exe程序

本程序体验下载地址:python编译的贴吧图片下载工具


先上效果图

启动后是这样的:

按提示输入内容运行后是这样的:

上代码(基本都是最基本的语法,不多解释了):

import requests
import os
from bs4 import BeautifulSoup
from pip._vendor.distlib.compat import raw_input


def down(type, num, url, img_path):
    if type == '1':
        url2 = url + '&pn={}'.format(num)
    else:
        url2 = url + '?pn={}'.format(num)
    if not os.path.exists(img_path):
        os.makedirs(img_path)

    req = requests.get(url2)
    req.encoding = "utf-8"

    bs = BeautifulSoup(req.text, 'html.parser')
    img = bs(class_='BDE_Image')
    con = 0
    if img.__len__() == 0:
        print("<--第{}页无图片,跳转下一页-->".format(num))
    else:
        for xx in img:
            con += 1
            url = xx.get('src')
            height = xx.get('height')
            width = xx.get('width')
            name = '\' + str(num) + '_' + str(con) + '(' + height + 'x' + width + ')'
            res = requests.get(url)
            with open("{}{}{}".format(img_path, name, '.jpg'), 'wb')as f:
                f.write(res.content)
                print("第{}页,第{}张,下载完毕".format(num, con))


if __name__ == '__main__':

    print('贴吧图片下载工具v1.0 by wjup

说明:输入内容请按要求填写,填错会退出程序。'
          '
请规范输入帖子地址,像这样-->
只看楼主:https://tieba.baidu.com/p/3430697608?see_lz=1
'
          '不是只看楼主:https://tieba.baidu.com/p/3430697608'
          '
图片保存路径写法:F:\image,如果不填会默认下载到E:\贴吧图片 目录下

')

    type = raw_input('开始吧!

请选择是否为只看楼主类型的地址
(输入1或2即可)  1:是  2:否  :')
    while type.strip() == '':
        type = raw_input('请选择是否为只看楼主类型的地址
(输入1或2即可)  1:是  2:否  :')

    url = raw_input('
请输入贴子地址:')
    while url.strip() == '':
        print('地址都不输入,还下载个毛!')
        url = raw_input('请输入贴子地址:')

    end_page = input('
请输入帖子总页数:')
    if end_page.strip() == '':
        print('页数为空,默认下载前3页图片内容')
        end_page = 3

    img_path = raw_input('
请输入图片保存路径(例:F:\image):')
    print('-------------下载--------------')
    if not img_path.strip():
        print('地址为空默认保存到 E:\贴吧图片')
        print('-------------下载--------------
')
        img_path = 'E:\贴吧图片'

    for i in range(1, int(end_page) + 1):
        down(type, i, url, img_path)
原文地址:https://www.cnblogs.com/wjup/p/10576074.html