【Python实战】爬虫教程千千万,一到实战全完蛋?我用Python爬取了五千张美女图壁纸,每天一张忘记初恋(张张精品,盘它)

导语

天气越来越喜怒无常啦~

冷的时候出门恨不得裹成球,热的时候直接短衣短袖整起来!

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

下了一个星期的雨终于迎来了一个太阳天,超级满足,心情也变的好好啦~

今天让大家一起开心一下,什么事情才能让大家都开心起来呢?当然是看见美美的高清壁纸。

PS——

宅男们梦寐以求的福利软件免费分享了,漂亮性感的美女图片一键采集,都是4k高清壁纸

采集后可一键保存,速度非常的快,舒服从此桌面全是小姐姐,欧力给!

于是今天的推送主题啦,今天教大家一键采集某岸图网4k高清动漫、萌妹、御姐....壁纸,让你

的桌面每天都是美美的新皮肤~新的一天看见美好的事物总不是一件坏事吧!

正文

一、环境准备中 

1)运行环境

环境安装:python 3.8: 解释器、pycharm: 代码编辑器、requests、re。自带的

模块 直接安装Python就可以使用了。 

相对应的安装包/安装教程/激活码/使用教程/学 习资料/工具插件 可以直接找我厚台获取 。 

 2)模块安装 

 第三方库的安装方式如下:

 一般安装:pip install +模块名 

 镜像源安装:pip install -i https://pypi.douban.com/simple/+模块名 

 (还有很多国内镜像源,这里是豆瓣的用习惯 了,其他镜像源可以去看下之前文章都有的) 

 模块安装问题可以详细的找我给大家讲一下的哈,之前其实也有的文章写了几个点的。

二、爬虫的基本思路

1)数据来源分析 

 1. 明确需求: 采集的网站是什么? http://www.netbian.com/dongman/ 

采集的数据是什么? - 图片链接 - 图片名字。

2) 通过开发者工具抓包分析

图片链接/图片名字 数据内容在哪里可以获取到 <由小到大 先分析一张图片数据在什么地方, 再

分析如何获取多张图片> 

 图片地址: http://img.netbian.com/file/2022/1229/225102KgBdj.jpg 

分析从哪生成的—打开开发者工具: F12 / 鼠标右键点击检查选择network 。

刷新网页: 让本网页数据内容重新加载一遍 - 搜索数据来源: 复制关键参数, 直接进行搜索 

 225102KgBdj 搜索这个内容:

第一张图片: http://www.netbian.com/desk/29381.htm 

第二张图片: http://www.netbian.com/desk/29354.htm 

第三张图片: http://www.netbian.com/desk/29295.htm 

主要改变的就是图片ID --> 如果你想要获取所有图片数据 ---> 获取所有图片ID 图片ID 

都在目录页面 http://www.netbian.com/dongman/ 有 目的获取图片链接/图片名字 --->

图片详情页 http://www.netbian.com/desk/29381.htm --> 获取图片ID --> 图片目录页面

里面有 和正常访问网站观看图片一样的。

三、代码实现步骤

基本四个步骤 发送请求-->获取数据-->解析数据-->保存数据。

1)获取图片ID

 1. 发送请求, 模拟浏览器对于url地址发送请求

  请求 图片目录页面url http://www.netbian.com/dongman/ 

 2. 获取数据, 获取服务器返回响应数据 

 response 网页源代码 

 3. 解析数据, 提取我们想要的数据内容 

  图片ID 

2)获取图片链接/名字

 4. 发送请求, 模拟浏览器对于url地址发送请求 

 请求 图片详情页页面url http://www.netbian.com/desk/{图片ID}.htm 

 5. 获取数据, 获取服务器返回响应数据 

 response 网页源代码 

 6. 解析数据, 提取我们想要的数据内容

  图片链接 - 图片名字 - 保存数据。

  7. 保存数据, 保存本地文件夹。

四、完整的代码

"""
# 导入数据请求模块 --> 第三方模块, 需要安装 pip install requests
import requests
# 导入正则模块 --> 内置模块, 不需要安装
import re
"""
1. 发送请求, 模拟浏览器对于url地址发送请求
    - 模拟浏览器 <反爬处理> 请求头 <字典数据类型>
        如果你不伪装, 可能会被识别出来是爬虫程序, 从而得到数据内容
    可以直接复制粘贴 --> 开发者工具里面就可以复制
    
    - <Response [200]> 响应对象
        Response: 中文意思-->响应
        <>: 表示对象
        200: 状态码 表示请求成功
    发送请求, 请求成功了

分析请求url地址变化规律:
    第一页: http://www.netbian.com/dongman/
    第二页: http://www.netbian.com/dongman/index_2.htm
    第三页: http://www.netbian.com/dongman/index_3.htm
    第四页: http://www.netbian.com/dongman/index_4.htm
"""
for page in range(2, 11):
    print(f'=================正在采集第{page}页的数据内容=================')
    # 请求图片目录页面url
    url = f'http://www.netbian.com/dongman/index_{page}.htm'
    # 伪装模拟成浏览器
    headers = {
        # User-Agent 用户代理 浏览器基本身份信息
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 发送请求
    # 调用requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量名response接受返回的数据
    response = requests.get(url=url, headers=headers)
    """
    2. 获取数据, 获取服务器返回响应数据
        response 网页源代码
        response.text 获取响应文本数据 <网页源代码>
    3. 解析数据, 提取我们想要的数据内容
        - 图片ID
    正则表达式Re 会1 不会0
    调用re模块里面findall方法 --> 找到所有我们想要的数据
    re.findall('找什么数据', '从哪里找') --> 从什么地方, 去匹配找什么样的数据内容
    从 response.text<网页源代码> 里面 去找 <a href="/desk/(\d+).htm" 其中 (\d+) 就是我们要的内容
        \d+ 表示任意数字
    """
    # 提取图片ID --> 列表 <盒子/箱子> '29381' 是列表<箱子>里面元素<苹果>
    img_id_list = re.findall('<a href="/desk/(\d+).htm"', response.text)
    # for循环遍历, 把列表里面元素 一个一个提取出来
    for img_id in img_id_list:
        # img_id变量<袋子> 给 img_id_list 列表<盒子> 里面 元素<苹果> 给装起来
        print(img_id)
        """
        4. 发送请求, 模拟浏览器对于url地址发送请求
            - 请求 图片详情页页面url http://www.netbian.com/desk/{图片ID}.htm
        5. 获取数据, 获取服务器返回响应数据
            response 网页源代码
        """
        # 请求详情页链接 --> f'{img_id}' 字符串格式化方法
        link = f'http://www.netbian.com/desk/{img_id}.htm'
        # 发送请求
        response_1 = requests.get(url=link, headers=headers)
        # 获取数据内容 网页源代码 ---> 乱码了, 进行转码
        response_1.encoding = 'gbk'
        # 6. 解析数据, 提取我们想要的数据内容<图片链接/图片标题>
        img_url, img_title = re.findall('<img src="(.*?)" alt="(.*?)"', response_1.text)[0]
        # 7. 保存数据 --> 先获取图片数据内容
        img_content = requests.get(url=img_url, headers=headers).content
        with open('img\\' + img_title + '.jpg', mode='wb') as f:
            f.write(img_content)
        print(img_url, img_title)

五、效果展示

1)批量采集

​2)高清壁纸分享

总结

这些壁纸可是我精挑细选,无敌美美哒又高清,每一张都超棒der,希望壁纸的小可爱们

天天开心,快乐无敌!代码的话(免费)记得滴滴我哈!自己也能随时下载了哦~

我是木木子,擅长互联网资源搜索、整理、码代码,关注我,每天为你免费分享优质免费编程

资源、学习心得,各种干货让你快人一步、弯道超车!

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目1.8  Wifi破解免费

Python编程零基础如何逆袭成为爬虫实战高手之《WIFI破解》(甩万能钥匙十条街)爆赞爆赞~

项目1.9  爬虫+数据分析实战:全球疫情最新消息、淘宝爬虫、秒杀脚本

​​​​​​【Python合集系列】爬虫有什么用,网友纷纷给出自己的答案,王老师,我..我想学那个..爬虫。可以嘛?“(代码免费分享)

项目2.4 自动化某站直播弹幕

【Python实战】爬虫教程千千万,一到实战全完蛋?前方弹幕高能:教你一键实现自动化指定直播间发送弹幕,为你喜欢的女主播疯狂打call叭~

项目2.2   颜值排名评分(爬虫+人脸识别)

【Python实战】一大波高颜值主播来袭:快看,某网站颜值排名,为了这个排名我可是大费周章啦,第一名不亏是你...(人脸检测+爬虫实战)

🎄文章汇总——

汇总合集 Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值