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

  • 保障性住房土地增值税预征
  • 什么是企业的命脉
  • 老板故意拖欠税款怎么办
  • 资产入股会计处理
  • 原材料亏损率怎么算
  • 承兑汇票丢了如何追回
  • 预付货款核销如何做会计摘要呢?
  • 零申报企业年报资产总额怎么填
  • 已抵扣专用发票冲红怎么操作
  • 划拨土地使用权出租
  • 以前年度的所得税怎么入账
  • 物业做账的时候怎么做
  • 办理出口退税需要的资料
  • 专票上的账号和收款账号要一致吗
  • 计提个人生产经营所得个税需要贴附件吗
  • 增值税进项和销项税的计算方法
  • 酒店行业税负率怎么算
  • 前期认证相符且本期申报抵扣怎么填
  • 12366国税网上申报
  • 企业重组有什么好处
  • 小公司发工资怎么做账
  • 进项留抵退税会计科目
  • 现金存入对公账户用途写什么
  • 企业不动产如何带抵押转让
  • 跨市工程预交的税怎么算
  • 个税系统如何导入之前的记录
  • 人民法院被收买了怎么办
  • 员工付款的手续费怎么算
  • 跨月冲红发票需收回原发票
  • 企业内部股权划拨流程
  • 电脑打字不显示文字选项
  • 应收账款融资的风险控制
  • php使用js
  • 银行进账单和现金缴款单的区别
  • 股权投资收益需要缴纳企业所得税吗
  • 公司向股东借款多久必须归还
  • 阿尔卑斯山环保
  • 厂区绿化工程计入什么科目
  • 老生常谈含义
  • vue使用计算属性
  • 材料款零头抹掉怎么做凭证
  • 财务处理的时候要做什么
  • 出口抵扣进项的设备免税依据
  • xss攻击解决方案
  • 起征点适用于
  • 结转销售成本的方法
  • day29--Java泛型02
  • 企业会计准则是属于什么
  • 吸收合并和新设合并哪个更好
  • DB2专家王云谈商业智能BI
  • c语言http请求解析表单内容
  • 一般纳税人交增值税的账务处理
  • 收到承兑汇票在什么科目
  • 工业用地便宜
  • 充电桩的安装费是多少
  • 企业哪些进项税抵扣
  • 2020年工资标准表
  • 对公账户给别人走账
  • 装卸费专票
  • 税款减免怎么做分录
  • 成本票下月的可以入上月的成本吗
  • 出口额和外汇收入
  • 党组织专项经费包括什么
  • 工程施工企业外管证怎么办理
  • 收购溢价会计处理
  • 待认证进项税额和待抵扣进项税额的区别
  • 发票遗失重开需要收费吗?
  • 实名汽车票抵扣
  • 房地产企业预收账款
  • 进项发票已认证未抵扣分录
  • 没有期初数据会怎么样
  • win8怎么锁定屏幕
  • linux的tar命令用法
  • 硬盘xp系统
  • shader教程
  • nodejs读取json文件,并返回列表
  • android:Fragment动画那点事
  • js中文本框设置的代码
  • 数字图像处理软件idl和matlab有什么异同点
  • 江苏城市规划
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设