爬必应壁纸

bg1.png

URL: https://www.ihuzu.com

运行前没有安装库的小伙伴们注意了(先安装库)!!!

最近对代码做出了改动另外还有一点需要注意的是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)                                           # 维持命令行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容