位置: IT常识 - 正文

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

编辑:rootadmin
在现在这个信息爆炸的时代,要想高效的获取数据,爬虫是非常好用的。而用python做爬虫也十分简单方便,下面通过一个简单的小爬虫程序来看一看写爬虫的基本过程: 首先是要用到的库,因为是刚入门最简单的程序,我们主要就用到下面这两: import requests //用于请求网页 import re / ...

推荐整理分享python爬虫入门教程:爬取网页图片(python爬虫入门教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python爬虫快速入门,python爬虫全套教程,python爬虫教程,python爬虫:入门+进阶,python爬虫入门教程,python爬虫入门教程pdf,python爬虫教程,python爬虫入门教程pdf,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

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

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

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

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

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

编写爬虫程序首先肯定要通过python访问这个网站,代码如下:headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0' }response = requests.get('https://qq.yh31.com/zjbq/',headers=headers) //请求网页

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

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

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

t = '<img src="https://www.cnblogs.com/tuixiulaozhou/p/(.*?)" alt="https://www.cnblogs.com/tuixiulaozhou/p/(.*?)" width="160" height="120">'

像这样。

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

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

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

程序代码import requestsimport reimport osimage = '表情包'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/20100101 Firefox/98.0' }response = requests.get('https://qq.yh31.com/zjbq/',headers=headers)response.encoding = 'GBK'response.encoding = 'utf-8'print(response.request.headers)print(response.status_code)t = '<img src="https://www.cnblogs.com/tuixiulaozhou/p/(.*?)" alt="https://www.cnblogs.com/tuixiulaozhou/p/(.*?)" width="160" height="120">'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)

最后结果就是这个样子:

本文链接地址:https://www.jiuchutong.com/zhishi/310334.html 转载请保留说明!

上一篇:python包和文件夹有什么区别(python27文件夹)

下一篇:长篇图解etcd核心应用场景及编码实战(etcd4)

  • 钉钉怎么绑定支付宝(钉钉怎么绑定支付宝健康码)

  • 红米k30是双卡双待手机吗(红米k30双卡双待怎么设置流量用哪个卡)

  • 网易云的收藏歌单能取消吗(网易云的收藏歌单怎么取消)

  • vivo怎么把联系人导入手机卡(vivo怎么把联系人移到手机卡)

  • 抖音直播如何让更多人看(抖音直播如何让镜头跟随动作晃动)

  • dc调光会加速烧屏吗(dc调光会耗电吗)

  • 手机长视频怎么发电脑(手机长视频怎么传到电脑上)

  • b站注销账号手机还能注册吗(b站注销账号手机号被永封)

  • 苹果耳机怎么查是国行(苹果耳机怎么查位置定位)

  • 计算器的ce键是什么功能(计算器的ce键是什么意思)

  • ipad更新系统会不会越来越卡(ipad更新系统会关机吗)

  • 快手作品显示x什么意思(快手作品显示刷号类直播)

  • dotx是什么文件

  • 对方关机微信语音显示什么(对方关机微信语音会忙线吗)

  • 电脑反应太慢怎么解决(电脑反应太慢怎么加速)

  • oppo换华为怎么一键换机(oppo换华为手机)

  • 电脑内存和硬盘的区别(电脑内存和硬盘大小怎么看)

  • 如何退出微信传输助手(微信传送门怎么关掉)

  • 苹果6s有nfc功能吗(苹果6snfc功能在哪里感应)

  • 淘宝直播间怎么领优惠券(淘宝直播间怎么复制粘贴刷屏)

  • 笔记本电脑发出滋滋响(笔记本电脑发出滋滋的声音怎么办)

  • 微信读书挂着算时长吗(微信读书kundle)

  • pcem00是什么手机型号(pcgm00是什么手机)

  • 闲鱼会员名怎么改昵称(闲鱼会员名怎么查看)

  • 小米9几个扬声器(小米9扬声器单还是双)

  • 苹果手机突然要激活是怎么回事(苹果手机突然要求输入ID密码)

  • 一文速学-XGBoost模型算法原理以及实现+Python项目实战

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络