Python批量爬取美女写真集,只需27行代码,实现多页爬取!

伙计们,我们有点不喜欢上一季,所以今天有点不同。

[En]

Guys, we didn’t like the last series a little bit, so it’s a little different today.

Python批量爬取美女写真集,只需27行代码,实现多页爬取!

来吧,直接整活~

; 先准备一下

首先,我们需要安装这两个第三方模块。

[En]

First, we need to install these two third-party modules.

requests >>>

不会安装的小伙伴,键盘按住win+r 在弹出来的运行框 输入cmd 按确定,然后弹出黑色的框框,即命令提示符窗口,输入上面的注释 ,然后按回车即可安装成功。

实现步骤

第一步:查找数据对应的链接地址

[En]

Step 1: find the link address corresponding to the data

第二步:python代码发送指定地址的请求
第三步:数据解析(筛选 过滤咱们需要的数据)

在解析每个专辑地址之后,

[En]

After parsing each album address,

  1. a 创建每一个相册的文件夹
  2. b 请求每一个相册详情页
    (1) 发送请求
    (2) 解析数据 提取图片链接
    (3) 依次请求图片

第四步:保存数据

代码部分

import requests
import parsel   # 解析数据
import os
Python学习交流 1群 815624229 快满了加2裙
Python学习交流 2群 279199867

for page in range(1, 12):
    response = requests.get(f'https://www.jdlingyu.com/tag/%e8%85%bf%e6%8e%a7/page/{page}')
    # : 请求成功
    # 静态页面的网页源代码
    # 把静态页面的 字符串 变成可选的对象
    selector = parsel.Selector(response.text)
    # 3. 数据解析(筛选 过滤咱们需要的数据)
    # re: 可以直接提取网页字符串数据
    # css / xpath: 通过HTML标签进行提取
    lis = selector.xpath("//ul[@class='b2_gap ']/li")
    for li in lis:
        # text(): 提取标签的文本内容
        title = li.xpath('.//h2/a/text()').get()
        print(f'-------------正在爬取{title}-------------')
        # a 如果当前文件夹不存在 那么就新建一个
        if not os.path.exists('./img/'+title):
            os.mkdir('./img/'+title)
        # 每一个相册所在的 网页地址
        # 获取a标签属性内容 /@src
        href = li.xpath('.//h2/a/@href').get()
        # b 请求每一个相册详情页
        data_html = requests.get(href).text
        # 把字符串对象转变为 可选的selector对象
        selector_2 = parsel.Selector(data_html)
        img_p = selector_2.xpath('//div[@class="entry-content"]/p')
        for img in img_p:
            # (2) 解析数据 提取图片链接
            img_list = img_p.xpath('.//img/@src').getall()
            for img_1 in img_list:
                # content: 获取二进制数据 图片 视频 音频
                # 文本: text
                try:
                    img_data = requests.get(img_1).content
                # 图片文件名
                except:
                    continue
                img_name = img_1.split('/')[-1]
                with open(f'img\\{title}\\{img_name}', mode='wb') as f:
                    f.write(img_data)
                    print('下载完成:', img_name)

效果展示

Python批量爬取美女写真集,只需27行代码,实现多页爬取!

Python批量爬取美女写真集,只需27行代码,实现多页爬取!

这个分类总共是12页,我就不全部展示了,大家可以自己去试试!

Original: https://www.cnblogs.com/hahaa/p/16204122.html
Author: 轻松学Python
Title: Python批量爬取美女写真集,只需27行代码,实现多页爬取!

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/499712/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球