python3编写贴吧图片下载软件

刚开始了解python爬虫写的,代码都很简单。
我的CSDN原文地址:python 3 爬取某小说网站小说,注释详细

先上效果图,启动后是这样的:

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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)
# 设置编码,浏览器查看网站编码:F12,控制开输入document.characterSet回车即可查看
req.encoding = "utf-8"

# 获取网页所有内容
bs = BeautifulSoup(req.text, 'html.parser')
# 找到类名为BDE_Image的标签
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)

-------------本文结束感谢您的阅读-------------
感觉文章不错,就赏个吧!
0%