吾爱趴了很久,结合网上大神们的东西,小白一个鼓捣了一个美篇的图片下载
本帖最后由 zhuyh 于 2022-2-21 13:45 编辑打开美篇登录在 https://www.meipian.cn/hot页面点击任意图片复制地址栏链接复制例如https://www.meipian.cn/3wu0tk0c黏贴程序运行窗口 惊喜等着你 查看D:\\mypic\test\
import urllib.request
import re
import os
import urllib
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 '
'Safari/537.36 '
}
print('为了保证你的访问正常,不要恶意下载图片,防止网站封IP,够用够看就好~_~。')
print('已设置不同网站不同主题下载创建不同文件夹,不覆盖文件,下完及时查看~_~。')
print('-----------------------------------------------------------')
input_content = input('请输入要下载的网页地址:')
def get_html(url):
page = urllib.request.urlopen(url)
html_a = page.read()
return html_a.decode('utf-8')
url = input_content
req = urllib.request.Request(url)
try:
resp = urllib.request.urlopen(req)
data = resp.read().decode('utf-8')
start = data.find('<title>')
end = data.find('</title>')
t = data
print(t)
except:
print('Error')
def get_img(html):
reg = r'https://[^\s]*?\.jpg'
imgre = re.compile(reg)# 转换成一个正则对象
imglist = imgre.findall(html)# 表示在整个网页过滤出所有图片的地址,放在imgList中
x = 0 # 声明一个变量赋值
path = 'D:\\mypic\\test\\' + t + "/" # 设置图片的保存地址
if not os.path.isdir(path):
os.makedirs(path)# 判断没有此路径则创建
paths = path + '\\'# 保存在test路径下
for imgurl in imglist:
urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x))# 打开imgList,下载图片到本地
x = x + 1
print("正在下载第" + str(x) + "张高清图片,请稍候...结果查看D:\mypic/test/" + str(t) + "/图片,再次申明不要恶意下载")
return imglist
html_b = get_html(input_content)# 获取该网页的详细信息input_content
print(get_img(html_b))# 从网页源代码中分析下载保存图片
2022.2.21应大家要求增加自定义文件路径创建,查看路径随定义路径,具体看代码:
import urllib.request
import re
import os
import urllib
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15'
}
input_content = ''# 需要搜索的内容
t = ''# 需要搜索的内容
print('为了保证你的访问正常,不要恶意下载图片,防止网站封IP,够用够看就好~_~。')
print('已设置不同网站不同主题下载创建不同文件夹,不覆盖文件,下完及时查看~_~。')
print('增加自定义文件路径例如:C:\\Users\\Administrator\\ 中最后斜杠一定要带上,否则在上级目录创建文件')
print('如果路径输入任意字符不带盘符,下载后会保存在python执行文件根目录下具体为:任意字符+文件名的文件内')
print('............你好,我好,大家好,才是真的好,伸出你友善的小手,免费评分走一波!.............')
#basepath = os.getcwd() # 如果你想在当前路径下创建文件
basepath = r"" #如果你想在特定自定义路径下创建文件
print()
d1 = input("请输入你要自定义保存的路径例如(C:\\Users\\Administrator\\Desktop\):" + basepath)
full1 = os.path.join(basepath, d1)
#os.makedirs(full1, exist_ok=true)
print("保存文件路径设置成功,你自定义的文件路径为:" + d1)
#d2 = input("d2:") #子文件夹自动创建
#full2 = os.path.join(d1, d2)#子文件夹自动创建
#os.makedirs(full2, exist_ok=True)#子文件夹自动创建
input_content = input('请输入要下载的网页地址(例如https://www.meipian.cn/3wu0tk0c):')
def get_html(url):
page = urllib.request.urlopen(url)
html_a = page.read()
return html_a.decode('utf-8')
url = input_content
req = urllib.request.Request(url)
try:
resp = urllib.request.urlopen(req)
data = resp.read().decode('utf-8')
start = data.find('<title>')
end = data.find('</title>')
t = data
print("你要下载的文件为" + t)
except:
print('Error')
def get_img(html):
reg = r'https://[^\s]*?\.jpg'
imgre = re.compile(reg)# 转换成一个正则对象
imglist = imgre.findall(html)# 表示在整个网页过滤出所有图片的地址,放在imgList中
x = 0 # 声明一个变量赋值
path = d1 + t + "\\" # 设置图片的保存地址
if not os.path.isdir(path):
os.makedirs(path)# 判断没有此路径则创建
paths = path + '\\'# 保存在test路径下
for imgurl in imglist:
urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x))# 打开imgList,下载图片到本地
x = x + 1
print("正在下载第" + str(x) + "张高清图片,请稍候...结果查看" + str(path) + str(x) + ".jpg,再次申明不要恶意下载")
return imglist
html_b = get_html(input_content)# 获取该网页的详细信息input_content
print(get_img(html_b))# 从网页源代码中分析下载保存图片
大佬请教一下有几个网址进去运行程序有出错,例如 https://www.meipian7.cn/28pi30sb
Traceback (most recent call last):
File "D:\Program Files\美篇下载\meipianxz2.py", line 68, in <module>
print(get_img(html_b))# 从网页源代码中分析下载保存图片
File "D:\Program Files\美篇下载\meipianxz2.py", line 61, in get_img
urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x))# 打开imgList,下载图片到本地
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 241, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 525, in open
response = meth(req, response)
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 634, in http_response
response = self.parent.error(
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 563, in error
return self._call_chain(*args)
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Users\wtao\AppData\Local\Programs\Python\Python310\Lib\urllib\request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
大佬可以帮忙看看是为什么嘛 w-taox 发表于 2022-3-24 09:11
大佬请教一下有几个网址进去运行程序有出错,例如 https://www.meipian7.cn/28pi30sb
Traceback (most...
地址匹配换成这这个 reg = r'https://ss2.meipian.me/(.*?)","img_width"' 地址匹配换成这这个
urllib.request.urlretrieve(imgurl, 这个换成urllib.request.urlretrieve("https://ss2.meipian.me/"+imgurl 哦呀哦呀~ 小程序越来越多了 站里的~ 学习学习 多交流 多交流 努力学习的态度值得赞扬!加油! 打包成exe上传了不了权限不足{:1_937:}「美篇.exe」https://www.aliyundrive.com/s/gxMaTCxmb41点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 感谢分享脚本! 这是有什么功能 学习如何下载美篇 这个怎么用呢