您现在的位置是:首页 >技术教程 >硬盘有多少图片取决我的网速, Python获取硬盘少女图集网站首页技术教程

硬盘有多少图片取决我的网速, Python获取硬盘少女图集

魔王不会哭 2024-07-02 18:01:02
简介硬盘有多少图片取决我的网速, Python获取硬盘少女图集

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

图片数据在网络中随处可见, 如果需要一些图片素材

一睹为快把! ! !

开发环境:

  • 解释器: python 3.8

  • 编辑器: pycharm 2022.3 专业版

内置模块使用

  • os >>> 操作文件系统的模块

第三方模块使用

  • selenium >>> web 的自动化测试工具

  • requests >>> 用来发送网络请求

  • parsel >>> 用于解析JSON数据的Python

第三方模块安装:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令

如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:

pip install -i https://pypi.doubanio.com/simple/ requests

python资料、源码、教程福利皆: 点击此处跳转文末名片获取

案例实现的步骤:

  1. 找数据对应的链接地址

  2. 使用代码发送网络请求

  3. 数据解析技术(提取需要的数据)

  4. 数据保存

代码展示

# 用到什么库我就导入什么
import requests  # 数据请求模块, 第三方的模块  pip install requests
import parsel  # 数据解析模块, 第三方的模块  pip install parsel
from selenium_api import get_data
import os   # 文件目录操作,  内置模块

1.找数据对应的链接地址 不要把直播课当录播

url = 'https://diskgirl.com/imageslist'

使用代码发送网络请求, 请求的服务器可能会识别你(代码) 不给你数据

请求头字段信息: 伪装, 表示浏览器身份信息

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'}

2.使用代码发送网络请求 <Response [200]> 是对象 基础不牢, 地动山摇

response = requests.get(url=url, headers=headers)  # 函数传参 <关键字传参>
html_data = response.text  # text从对象里面把字符串数据取出来  content 从对象里面把二进制数据取出来
# print(html_data)

3.数据解析技术(提取需要的数据) python基础 功能强大 bs4 lxml re etree

celector = parsel.Selector(html_data)  # 转化数据类型

# 相册的标题   相册的地址
divs = celector.xpath('//div[@class="col-md-4"]')  # 所有的div

for div in divs:  # 把每一个div循环拿出来, 单独操作
    # 相册的标题   相册的地址
    title = div.xpath('.//h2/text()').get()  # 相册的标题
    pic_url = div.xpath('.//div[@class="card nopadding images-relative"]/a/@href').get()  # 相册的部分地址
    # print(title, pic_url)
    print('正在下载: ', title)

    if not os.path.exists('img\' + title):  # 如果没有改文件名在目录下
        os.mkdir('img\' + title)

    # 构建全部的链接
    all_url = 'https://diskgirl.com' + pic_url

    # 动态js(JavaScript)<>加载的数据,  selenium 工具: 自动操作浏览器, 获取页面渲染的数据
    img_url_list = get_data(all_url)  # 图片列表

    for img_url in img_url_list:
        # 发送图片地址的请求   图片是二进制数据
        img_data = requests.get(url=img_url, headers=headers).content

4.数据保存

        # 准备文件名
        filename = img_url.split('/')[-1]

        with open(f'img\{title}\{filename}', mode='wb') as f:
            f.write(img_data)
            print('下载完成: ', filename)

尾语 ?

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 ?

?问题解答 · 源码获取 · 技术交流 · 抱团学习请联系?</center

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。