博客
关于我
Python爬取高清桌面壁纸(附源码),直接运行即可
阅读量:630 次
发布时间:2019-03-14

本文共 1690 字,大约阅读时间需要 5 分钟。

前言

本文是一个实用的技术指南,旨在帮助开发人员快速了解如何从网页中抓取图片数据。代码和图片均来源于网络,仅供学习和交流使用,禁止商业用途。如有任何问题,请联系我们进行处理。


一、导入工具

import requestsfrom pyquery import PyQuery as pqimport time

二、请求、解析网页数据,保存数据

proxies = {    'https': '218.75.69.50:39590'}headers = {    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}def start_request(url):    response = requests.get(url, headers=headers, proxies=proxies)    response.encoding = 'GBK'    return response.textdef parse(text, page_num):    doc = pq(text)    images = doc('div.list ul li img').items()        current_image_num = 1    for image in images:        img_url = image.attr('src')        image_content = requests.get(img_url, headers=headers, proxies=proxies).content                save_path = os.path.dirname(os.path.abspath(__file__)) + '\\image\\' + f'imgs\\{page_num}\\{current_image_num}.jpg'        os.makedirs(os.path.dirname(save_path), exist_ok=True)                with open(save_path, 'wb') as f:            f.write(image_content)            print(f"正在下载第{page_num}页第{current_image_num}张图片...")            current_image_num += 1    print(f"写入完成,共下载了{current_image_num-1}张图片。")def main():    base_url = 'http://www.netbian.com'    html = start_request(base_url)    parse(html, 1)        # 爬取指定范围的页面    for page in range(2, 100):        url = f'{base_url}/index_{page}.htm'        html = start_request(url)        parse(html, page)if __name__ == "__main__":    main()

三、技术说明

  • 工具导入

    使用了 requests 库来抓取网页内容,PyQuery 集成了一些命令行提取功能,非常适合网页解析任务。

  • 请求设置

    设置了 User-Agent 字符串,让请求看起来更自然,避免被反爬机制拦截。

  • 页面编码

    网页默认使用 gbk 字符编码,本地显示可能会出现乱码,需要手动指定编码格式。

  • 图片下载与存储

    读取图片链接后,将图片内容下载并保存到指定目录中,支持多页抓取和分页存储。

  • 转载地址:http://etioz.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 如何使用YOLOv9检测图片和视频中的目标
    查看>>
    OpenCV与AI深度学习 | 如何在 Docker 容器中使用 GPU
    查看>>
    OpenCV与AI深度学习 | 实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | OpenCV传统方法实现密集圆形分割与计数(详细步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | YOLO11自定义数据集训练实现缺陷检测 (标注+训练+预测 保姆级教程)
    查看>>
    OpenCV与AI深度学习 | 实战 | YOLOv10模型微调检测肾结石并提高准确率
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用OpenCV和Streamlit搭建虚拟化妆应用程序(附源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用YOLOv8 Pose实现瑜伽姿势识别
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用姿态估计算法构建简单的健身训练辅助应用程序
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于OpenCV和K-Means聚类实现颜色分割(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于YoloV5和Mask RCNN实现汽车表面划痕检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
    查看>>