python案例之绝对领域全站图片采集(超级简单)

前言

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

python案例之绝对领域全站图片采集(超级简单)_第1张图片

课程亮点:

1、系统性分析页面

2、多页面数据解析

3、海量图片数据保存

开发环境 & 第三方模块:

  • 解释器版本 >>> python 3.8

  • 代码编辑器 >>> pycharm 2021.2

  • requests >>> 主要用来发 送 HTTP 请求 / 第三方模块

  • parsel >>> 主要用来将请求后的字符串格式解析成re,xpath,css进行内容的匹配 / 第三方模块

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

本次目标

python案例之绝对领域全站图片采集(超级简单)_第2张图片

代码展示

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

导入模块

import requests
import parsel
  1. 批量采集
for page in range(1, 504):

请求链接

    url = f'*****/tuji/page/{page}'
  1. 发送请求 访问的是列表页面
    response = requests.get(url)
  1. 获取数据 列表页面源代码
    html_data = response.text
  1. 解析数据 拿到详情页的链接
    # .post-info h2 a
    # css/xpath/re
    select = parsel.Selector(html_data)
    detailUrlList = select.css('.post-info h2 a::attr(href)').getall()
    # print(detailUrlList)
    for detailUrl in detailUrlList:
  1. 发送请求 访问所有详情页链接
        resp = requests.get(detailUrl)
  1. 获取数据 获取到详情页里面的源代码
        detail_html = resp.text
  1. 解析数据 提取出详情页源代码里面的 图片链接
        select_2 = parsel.Selector(detail_html)
        img_list = select_2.css('.entry-content img::attr(src)').getall()
        print(img_list)
        for img in img_list:
  1. 保存数据 图片
            img_data = requests.get(img).content
            img_name = img.split('/')[-1]
            open(f'img/{img_name}', mode='wb').write(img_data)

python案例之绝对领域全站图片采集(超级简单)_第3张图片

python案例之绝对领域全站图片采集(超级简单)_第4张图片

python案例之绝对领域全站图片采集(超级简单)_第5张图片
python案例之绝对领域全站图片采集(超级简单)_第6张图片

python案例之绝对领域全站图片采集(超级简单)_第7张图片
python案例之绝对领域全站图片采集(超级简单)_第8张图片

python案例之绝对领域全站图片采集(超级简单)_第9张图片
python案例之绝对领域全站图片采集(超级简单)_第10张图片

python案例之绝对领域全站图片采集(超级简单)_第11张图片

尾语

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

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

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

—— 心灵鸡汤

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

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

你可能感兴趣的:(爬虫,python,开发语言,pycharm)