python爬虫入门教程:爬取网页图片

python爬虫入门教程:爬取网页图片在现在这个信息爆炸的时代 要想高效的获取数据 爬虫是非常好用的 而用 python 做爬虫也十分简单方便 下面通过一个简单的小爬虫程序来看一看写爬虫的基本过程 准备工作语言 pythonIDE pycharm 首先是要用到的库 因为是刚入门最简单的程序 我们主要就用到下面这两 importreques 用于请求网页 importre 正则表达式 用于解析筛选网页中的信息其中 re 是 python 自带的 requests 库需要我们自己安装 在命令行中输入 pipinstall

在现在这个信息爆炸的时代,要想高效的获取数据,爬虫是非常好用的。而用python做爬虫也十分简单方便,下面通过一个简单的小爬虫程序来看一看写爬虫的基本过程:

准备工作

语言:python

IDE:pycharm

首先是要用到的库,因为是刚入门最简单的程序,我们主要就用到下面这两:

import requests //用于请求网页 import re //正则表达式,用于解析筛选网页中的信息

其中re是python自带的,requests库需要我们自己安装,在命令行中输入pip install requests即可。

然后随便找一个网站,注意不要尝试爬取隐私敏感信息,这里找了个表情包网站:

注:此处表情包网站中的内容本来就可以免费下载,所以爬虫只是简化了我们一个个点的流程,注意不能去爬取付费资源。

python爬虫入门教程:爬取网页图片

我们要做的就是通过爬虫把这些表情包下载到我们电脑里。

编写爬虫程序

首先肯定要通过python访问这个网站,代码如下:

headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/ Firefox/98.0' } response = requests.get('https://.yh31.com/zjbq/',headers=headers) //请求网页

其中之所以要加headers这一段是因为有些网页会识别到你是通过python请求的然后把你拒绝,所以我们要换个正常的请求头。可以随便找一个或者f12从网络信息里复制一个。

python爬虫入门教程:爬取网页图片

然后我们要找到我们要爬取的图片在网页代码里的位置,f12查看源代码,找到表情包如下:

 python爬虫入门教程:爬取网页图片

 然后建立匹配规则,用正则表达式把中间那串替换掉,最简单的就是.*?

t = '(.*?)'

 像这样。

然后就可以调用re库里的findall方法把相关内容爬下来了:

result = re.findall(t, response.text)

返回的内容是由字符串组成的列表,最后我们经由爬到的地址通过python语句把图片下下来保存到文件夹里就行了。

程序代码

import requests import re import os image = '表情包' if not os.path.exists(image): os.mkdir(image) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/ Firefox/98.0' } response = requests.get('https://.yh31.com/zjbq/',headers=headers) response.encoding = 'GBK' response.encoding = 'utf-8' print(response.request.headers) print(response.status_code) t = '(.*?)' result = re.findall(t, response.text) for img in result: print(img) res = requests.get(img[0]) print(res.status_code) s = img[0].split('.')[-1] #截取图片后缀,得到表情包格式,如jpg ,gif with open(image + '/' + img[1] + '.' + s, mode='wb') as file: file.write(res.content)

最后结果就是这个样子:

python爬虫入门教程:爬取网页图片

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203055.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午10:41
下一篇 2026年3月19日 下午10:41


相关推荐

  • 人工神经网络多层感知器_基于BP网络的多层感知器用来干嘛

    人工神经网络多层感知器_基于BP网络的多层感知器用来干嘛虽然异或问题成为感知器和早期神经网络的阿喀琉斯之踵,但它并非无解的问题。恰恰相反,解决它的思路相当简单,就是将单层感知器变成多层感知器。1,多层感知器(multilayerperceptron)包含一个或多个在输入节点和输出节点之间的隐藏层(hiddenlayer),除了输入节点外,每个节点都是使用非线性激活函数的神经元;2,多层感知器是一类前馈人工神经网络;3,多层感知器的训练包括以下步骤:首先确定给定输入和当前权重下的输出,再将输出和真实值相减得到误差函数,最后根据误差函数更新权重。在训练过程中

    2022年10月21日
    5
  • 用递归函数求斐波那契数列_利用递归求斐波那契数列

    用递归函数求斐波那契数列_利用递归求斐波那契数列函数递归求斐波那契数列//函数递归求斐波那契数列//编写程序,求数列1,1,2,3,5,8,13,21,……//思路://第一步:找出表示数列第N项的递归公式:F(N)=F(N-1)+F(N-2)//第二步:递归的结束条件,当N=1或N=2时,F(N)=1;longintFib(intn){ if(n<=2) return1; else returnFib(n-1)+Fib(n-2); //拿n=3带入一下,第一个返回值为1第二个返回值1

    2025年8月30日
    7
  • cocos2d3.0 Scale9Sprite

    cocos2d3.0 Scale9Sprite

    2021年11月15日
    45
  • sql文件导入数据库变乱码_sql文件导入数据库变乱码

    sql文件导入数据库变乱码_sql文件导入数据库变乱码由于最近在实习,往mysql数据库中导入sql文件,数据库中竟然显示乱码,数据库格式以及表格都设置为utf-8.不知为什么会这样?百度了好久并没有发现能有效的解决方法。于是自己尝试了一下自己的方法:①先将sql文件导入mysql数据库,乱码也不管。②将sql文件用写字板打开,代码复制一下,然后粘贴在mysql的可视化工具里的sql编译器里,如下图然后点击运行即可解决乱码现象。补充一下,我用的可视化工具有两个,MySQL-Front和workbench,亲测这两个都可以解决。后续有更

    2022年10月2日
    4
  • Python系列文章索引

    >>>importthisTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitis

    2021年12月30日
    39
  • initramfs-kernel_ubuntu initramfs

    initramfs-kernel_ubuntu initramfsLinux系统启动时使用initramfs(initramfilesystem),initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。当然initramfs是可选的,Linux中的内核编译选项默认开启initrd。在下面的示例情况中你可能要考虑用initramfs。加载模块,比如第三方driver定制化启动过程(比如打印welcomeme…

    2022年8月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号