【python】0基础爬虫实战:看到血脉喷张的图片一键保存(附源码和解析过程)

前言

各位CSDN的朋友好啊!前俩天我在CSDN上发布了一篇python安装教程的博客:
最新版Python详细安装教程与特点介绍(新手Python基础入门必备)
接下来咱们就趁热打铁 ,手把手教大家爬虫实战:一键保存自己想要的图片,从此晚上不孤单😎


一、爬虫介绍

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。
在这里插入图片描述


二、爬虫工具

工欲善其事,必先利其器
首先我们需要下载python,我下载的是官方最新的版本 3.9.6,其次我们需要一个运行Python的环境,我用的是pychram
没有的朋友们可以去看一下我上一篇博客,详细的介绍怎么样安装python以及pycharm
最新版Python详细安装教程与特点介绍(新手Python基础入门必备)
在这里插入图片描述


三、网站分析

这是林哥挑好的网站,当然你们也可以自己找网站
(http://www.netbian.com/meinv/),进入网站,美女图片映入眼帘
在这里插入图片描述
随便点开一个美女图片,查看它的url,http://www.netbian.com/desk/23749.htm
先记住这个网址,待会后面会用到
在这里插入图片描述
回到浏览器,打开F12,通过目标元素检查工具,点击刚刚我们点过的美女图片。通过它的元素我们可以知道a标签里的属性值href的链接就是上面我们访问美女图片的链接地址
在这里插入图片描述
我们在大图的页面,同样用f12点击一下,找到图片的链接地址
在这里插入图片描述
发现俩次链接相同,访问图片链接发现是我们要的美女图片。至此,对于网站的分析完毕。


四、代码实现

现在链接到手,话不多说,直接开干

import requests
from lxml import etree
import time

'''
1.访问网站首页
2.定位到每个美女图片的下载链接
3.定位到每个美女图片对应的大图链接
4.下载,保存美女图片
'''

if __name__ == '__main__':
    t1 = time.time()
    url = 'http://www.netbian.com/meinv/'
    resp = requests.get(url)
    resp.encoding = 'gbk'
    with open('index.html', 'wb') as f:
        f.write(resp.content)
    tree = etree.HTML(resp.content)

    node_list = tree.xpath('/html/body/div[2]/div[2]/div[3]/ul/li')

    sub_url_list = []
    for node in node_list:
        if len(node.xpath('./a/@href')) > 0:
            sub_url = node.xpath('./a/@href')[0]
        if len(node.xpath('./a/@href')) > 0:
            title = node.xpath('./a/b/text()')[0]
            sub_url_list.append((sub_url, title))
    #
    base_url = 'http://www.netbian.com/'
    for sub_url, title in sub_url_list:
        s_page = base_url + sub_url
        s_resp = requests.get(s_page)
        s_tree = etree.HTML(s_resp.content)
        img = s_tree.xpath('/html/body/div[2]/div[2]/div[3]/div/p/a/img/@src')[0]
        suffix = img.split('.')[-1]
        img_content = requests.get(img).content
        with open(f'./image/{title}.{suffix}', 'wb') as f:
            f.write(img_content)
            f.close()
    t2 = time.time()
    print(t2-t1)

经过这么一系列的操作,我们的美女图片就到手啦
在这里插入图片描述


结语

到此有没有对 Python 小爬虫产生一个整体的认知呢,如果表示了解了,那么我们下一篇会循序渐进的谈谈其他 Python 爬虫技术点(当然了,上面代码虽然很少,但是你可能还是觉得有些看不懂,那就得自己去补习下相关知识了)

如果您觉得这篇文章有意思,麻烦一键三连支持一下林哥,或者也可以关注一下表示您对我文章的认可与鼓励。
愿大家都能在编程这条路,越走越远。
**

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值