zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    mac lsof使用查看端口
    mac 安装gevent报错
    vim命令学习
    linux批量关闭进程
    坐标点转换
    screen命令记录
    hashlib模块
    PyYAML和configparser模块讲解
    xml处理模块
    json、pickleshelve模块(超级好用~!)讲解
  • 原文地址:https://www.cnblogs.com/wjup/p/10576074.html
Copyright © 2011-2022 走看看