
bg1.png
运行前没有安装库的小伙伴们注意了(先安装库)!!!
最近对代码做出了改动另外还有一点需要注意的是import JDT 这个模块我作者自定义的有进度条模块由于平台无法发出来所以运行时可以将其注释掉
"""
@File : 下载必应壁纸.py
@Contact : t.ianxi@foxmail.com
@License : // Copyright (C) 2018 Milo Yip<dell>
@Modify Time @Author @Version @Desciption
------------ ------- -------- -----------
2021/7/31 8:32 MuKe~ 3.0 None
"""
import requests,os,time
from lxml import etree
import urllib.request
from urllib import error
URL = 'https://www.ihuzu.com'
headers = {
"User-Agent": "Mozilla/4.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}
def GET():
url = requests.get(URL,headers=headers).text
html = etree.HTML(url) # 初始化HTML类
li_list = html.xpath('//li[@class="clearfix"]') # 获取属性class="clearfix"
i_SUM = len(li_list) # 为进度条统计数据
for i in li_list: # 历遍li节点
txt = i.xpath('.//a/text()') # 解析文本
jpg = i.xpath('.//img/@src') # 图片
data_list = [txt[0],URL+jpg[0]] # 拼接连接创建列表
# print(li_list)
# 生成文件
path = "必应壁纸"
jpg_path = f"必应壁纸\\{data_list[0]}.jpg"
if not os.path.exists(path):
print("检测到文件已丢失!--已重新创建",os.mkdir(path))
with open(jpg_path,'wb') as file:
"""
@说明:由于图片下载链接是拼接的,所以这需要重新发送get请求。
"""
JPG = requests.get(data_list[1],headers=headers)
file.write(JPG.content) # 下载图片
return i_SUM # 返回统计数据
try:
urllib.request.urlopen(URL, timeout=10) # 十秒内服务器未回复则抛出异常
import JDT # 导入自定义进度条模块
if __name__=='__main__':
JDT.progress_bar(i_data=GET()) # 将统计结果实例
GET() # 实例请求
except urllib.error.URLError:
print(f'抱歉,检测到网络异常错误请稍后重试…… =_=!')
time.sleep(4) # 维持命令行