您当前的位置: 首页 >  Python

魔王不会哭

暂无认证

  • 3浏览

    0关注

    149博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用python 采集某网站全站美女图片 ,这么好看得图还不学起来(含完整源码)

魔王不会哭 发布时间:2022-03-01 16:58:22 ,浏览量:3

本次目的:

python 抓取某某站图片

在这里插入图片描述

本次亮点:
  1. 系统性分析页面
  2. 多页面数据解析
  3. 海量图片数据保存
开发环境 & 第三方模块:
  • 解释器版本 >>> python 3.8
  • 代码编辑器 >>> pycharm 2021.2
  • requests >>> pip install requests
  • parsel >>> pip install parsel
爬虫主要流程: 一. 网站分析
  1. 找到目标网站 链接
  2. 获取每个相册的地址 去批量的下载图片
二. 代码实现过程
  1. 发送网络请求 向相册列表页 链接
  2. 获取数据 网页源代码
  3. 筛选数据 相册地址
  4. 发送网络请求 向相册页面 并且 获取数据 网页源代码
  5. 筛选数据 图片地址
  6. 发送网络请求 & 获取数据 向图片地址
  7. 保存图片

在这里插入图片描述

代码编写 1. 导入模块
import requests
import parsel   # lxml  re  bs4
import re
import os
2. 加一个伪装
headers = {
    'referer': 'https://www.jdlingyu.com/tuji',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}

for page in range(1, 393):
    url = f'https://www.jdlingyu.com/tuji/page/{page}'
3. 发送网络请求
    response = requests.get(url, headers=headers)
    # : 请求成功
4. 获取数据 网页源代码
    html_data = response.text
5. 筛选数据
    # re
    # url_list = re.findall('.*?', html_data)
    # xpath
    selector = parsel.Selector(html_data)
    url_list = selector.xpath('//div[@class="post-info"]/h2/a/@href').getall()
6. 发送网络请求 向相册页面 并且 获取数据 网页源代码
    for detail_url in url_list:
        detail_html = requests.get(detail_url, headers=headers).text
相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以点击免费领取 7. 筛选数据 图片地址
        detail_selector = parsel.Selector(detail_html)
        title = detail_selector.xpath('//h1/text()').get()
        # 如果不存在 img/title
        if not os.path.exists('img/' + title):
            # 那就新建
            os.mkdir('img/' + title)
        img_list = detail_selector.xpath('//div[@class="entry-content"]//img/@src').getall()
        for img in img_list:
            # 获取二进制数据
            img_data = requests.get(img, headers=headers).content
            img_title = img.split('/')[-1]
            with open(f'img/{title}/{img_title}', mode='wb') as f:
                f.write(img_data)
            print(f'正在爬取: {img_title}')

在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

尾语

好了,我的这篇文章写到这里就结束啦!

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

关注
打赏
1665385393
查看更多评论
立即登录/注册

微信扫码登录

0.1987s