位置: 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)

  • 辞退补偿金按照什么工资算
  • 小微企业利润表模板
  • 收到对方红字发票如何做账
  • 所得税费用的余额期末时应转入利润分配账户
  • 从银行提取现金用途
  • 去年发生的成本怎么算
  • 事业单位个税可以自行申报吗
  • 知道销项税怎么算进项
  • 预缴增值税是否要预缴印花税
  • 向银行借款一年是长期还是短期
  • 传媒公司的成本构成有哪些
  • 抄税和上报汇总一样吗
  • 营改增后书据转移印花税是含税的吗?
  • 股权转让过程中需要注意哪些问题
  • 什么是销售利润率和成本利润率
  • 递延所得税怎么产生
  • 人工工资应该计什么科目
  • 分公司是否需要章程
  • 什么是现金购房
  • 1697509439
  • 出纳人员发现假章怎么办
  • 出口退税系统中的出口货物已补税未退税证明怎么填
  • 员工付款的手续费怎么算
  • edge浏览器总是打开新的网页
  • win11如何
  • mac如何关闭开机启动
  • messenger 是什么意思
  • 建造一座污水处理池投资了45万元
  • 进项税额转出会计分录账务处理
  • 如何加强企业应收应付款管理论文
  • 工伤补贴如何做凭证
  • php自定义header
  • 收到外汇货款
  • vue项目打包后还能修改吗
  • 代理业务资产的核算方法
  • 专票抵扣联可以盖两个章吗
  • Vue3通透教程【三】Vue3代码初体验找不同
  • dmsetup remove_all 会不会清掉数据
  • 所得税的期初资产怎么算
  • js继承的几种方式 各有什么优缺点
  • 当月增加的房产 要交房产税吗
  • 销售房产收取预算费用
  • 固定资产停止使用还要折旧吗
  • 帝国cms插件编写教程
  • sQlite常用语句以及sQlite developer的使用与注册
  • 使用命令方式安装程序
  • java查询mongodb数据
  • 电竞公司要求
  • 应收补贴款是什么
  • 暂估入账后续处理
  • 累计预扣法利弊
  • 购买土地缴纳契税会计分录
  • 科目余额表平是什么情况
  • 商品购进核算
  • 应付账款的余额表示什么
  • 抵扣联过期时间
  • 无形资产摊销账面价值
  • 开票未收到款会计分录
  • 员工话费实报实销分录
  • 预计负债的初始计量
  • 品种法案例分析
  • 旅游业餐饮业
  • 探讨探讨
  • mysql的zip包怎么安装
  • linux如何关闭selinux
  • centos6可用yum源
  • win10怎么安装google浏览器
  • WIN10系统中断
  • win8.1出现了一些问题
  • python 读中文文件
  • Bullet(Cocos2dx)之内存泄露检测
  • opengl绘制多个图形
  • 基于javascript的毕业设计选题
  • shell监控端口状态
  • unity做网页
  • 工作笔记范文100篇简短
  • python中运算符重载方法
  • 海关进口增值税如何入账
  • 印花税没有按时申报怎么办
  • 税务申报如何网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设