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

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\n\n说明:输入内容请按要求填写,填错会退出程序。'
'\n请规范输入帖子地址,像这样-->\n只看楼主:https://tieba.baidu.com/p/3430697608?see_lz=1\n'
'不是只看楼主:https://tieba.baidu.com/p/3430697608'
'\n图片保存路径写法:F:\\\image,如果不填会默认下载到E:\\\贴吧图片 目录下\n\n') type = raw_input('开始吧!\n\n请选择是否为只看楼主类型的地址\n(输入1或2即可) 1:是 2:否 :')
while type.strip() == '':
type = raw_input('请选择是否为只看楼主类型的地址\n(输入1或2即可) 1:是 2:否 :') url = raw_input('\n请输入贴子地址:')
while url.strip() == '':
print('地址都不输入,还下载个毛!')
url = raw_input('请输入贴子地址:') end_page = input('\n请输入帖子总页数:')
if end_page.strip() == '':
print('页数为空,默认下载前3页图片内容')
end_page = 3 img_path = raw_input('\n请输入图片保存路径(例:F:\\\image):')
print('-------------下载--------------')
if not img_path.strip():
print('地址为空默认保存到 E:\\\贴吧图片')
print('-------------下载--------------\n')
img_path = 'E:\\贴吧图片' for i in range(1, int(end_page) + 1):
down(type, i, url, img_path)

python 3编写贴吧图片下载软件(超简单)的更多相关文章

  1. 手把手教你用python打造网易公开课视频下载软件1-总述

    写作前面的话:最近准备重温一下算法导论,感谢大网易把MIT算法导论课程全部贴出来,地址为:http://v.163.com/special/opencourse/algorithms.html,在线看 ...

  2. 手把手教你用python打造网易公开课视频下载软件2-编码相关说明

    函数getdownLoadInfo(url)主要实现核心功能:根据url地址,获取课程信息:课程名(courseTitle),课程数目(courseCount),可下载视频数目(videoCount) ...

  3. 手把手教你用python打造网易公开课视频下载软件4-图形化界面

    上一篇讲解完函数:def getdownLoadInfo (url): 传入公开课的url地址,就可以提取课程的信息,这一篇讲解一下如何编写图像化界面.大概思考一下图像化界面需要的内容: (1)一个标 ...

  4. 手把手教你用python打造网易公开课视频下载软件3-对抓取的数据进行处理

    上篇讲到抓取的数据保存到rawhtml变量中,然后通过编码最终保存到html变量当中,那么html变量还会有什么问题吗?当然会有了,例如可能html变量中的保存的抓取的页面源代码可能有些标签没有关闭标 ...

  5. 手把手教你用python打造网易公开课视频下载软件5-python生成exe程序

    python程序生成exe文件,使用的是py2exe扩展包,下面写下具体的步骤: 第一步:新建conver2exe.py,内容如下: #coding:utf-8 from distutils.core ...

  6. 第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器

    第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器 编写spiders爬虫文件循环 ...

  7. 二十 Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器

    编写spiders爬虫文件循环抓取内容 Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数, 参数: url='url' callback=页面处理函数 使用时需要yield ...

  8. python简易爬虫来实现自动图片下载

    菜鸟新人刚刚入住博客园,先发个之前写的简易爬虫的实现吧,水平有限请轻喷. 估计利用python实现爬虫的程序网上已经有太多了,不过新人用来练手学习python确实是个不错的选择.本人借鉴网上的部分实现 ...

  9. Python实战:美女图片下载器,海量图片任你下载

    Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习 ...

随机推荐

  1. luoguP4705 玩游戏

    好好玩 即对于k∈[1,t] 求(ax+by)^k 以下图片均来自于: 在Ta的博客查看 一 二项式展开: 设: 那么: 可以卷积了 二 求: (PS:随机序列的0~k次方和,这是一个经典问题.) 我 ...

  2. Linux安装Tomcat8

    前置条件 安装jdk,见参考文章 下载Tomcat8 先从tomcat网站上下载最新的.gz安装包 tomcat官网下载地址 在下面找到Linux对应的tomcat安装包 我下载的文件名是:apach ...

  3. 友盟冲突解决com.umeng.weixin.handler.UmengWXHandler cannot be cast to com.umeng.socialize.handler.UMWXHandler

    删掉一个试试

  4. 微服务之服务中心—Eureka

    Eureka 简介Eureka 是 Spring Cloud Netflix 的一个子模块,也是核心模块之一,用于云端服务发现,是一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故 ...

  5. PHP-max_execution_time与fpm.request_terminate_timeout介绍

    前段时间一位同事跟我说php脚本超时时间以fpm配置优先.经过自己测试后,其实不然,前面的观点只是在某些情况下成立. php脚本超时时间可以在php.ini的max_execution_time和fp ...

  6. LFYZ-OJ ID: 1020 过河卒(NOIP2002)

    过河卒 Proble Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃 ...

  7. ajax扩展、jsonp、

    偷偷上传消息,首先想到ajax 而ajax是jquery是我们封装的功能. 方式一:ajax发消息 $.ajax({ url: '/ajax3.html', type: 'GET', //或者是POS ...

  8. JGUI源码:从头开始,建一个自己的UI框架(1)

    开篇 1.JGUI是为了逼迫自己研究底层点的前端技术而做的框架,之前对web底层实现一直没有深入研究,有了技术瓶颈,痛定思痛从头研究, 2.虽然现在vue技术比较火,但还在发展阶段,暂时先使用JQue ...

  9. JavaScript 的正则也有单行模式了

    正则表达式最早是由 Ken Thompson 于 1970 年在他改进过的 QED 编辑器里实现的,正则里最简单的元字符 “.” 在当时所匹配的就是除换行符外的任意字符: "." ...

  10. mysql 以数组的形式插入更新表

    在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values ('dd')的话,将是很长的sql语句,而且一不小心,就弄错了 ...