python学习之下载百度搜索到的图片(含源代码)

23年刚开工比较闲,这两天有看到小伙伴在积极的学习python课程,自己也不能拉下,找了一些资料,测试下载百度图片。
此下载代码比较简单,码字在这里,也是让大家一起来学习下,这个流程和思路。多多支持哦!!!


Requests库安装

python -m pip install requests

get请求方法
requests.get()

rtn= requests.get(url,headers=headers,params,timeout)

参数说明如下:
url:要抓取的 url 地址。
headers:用于包装请求头信息。
params:请求时携带的查询字符串参数。
timeout:超时时间,超过时间会抛出异常。

代码实例和运行结果如图:
在这里插入图片描述

对象属性

当使用 Requests 模块向 URL 发起请求后会返回 HttpResponse 响应对象,这个对象具有以下属性:

属性说明
encoding查看或指定响应字符编码
staus_code返回HTTP响应码
url查看请求头信息
headers查看请求头信息
cookies查看cookies信息
text以字符串形式输出
content以字节流形式输出,若要保存下载图片需使用该属性

使用示例和输出结果如下图:
在这里插入图片描述

下载指定百度图片

打开百度图片翻页版(点击访问),建议大家要收藏保留。
其 url 规律如下:(只分析前半部分)

第一页:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=壁纸&pn=0
第二页:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=壁纸&pn=20
第n页:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=壁纸&pn=20*(n-1)

为了限制下载,将原来的翻页版变成了通过滚动滑轮自动加载图片,此种方式在一定程度上限制了下载程序。
首先打开百度图片,并在输入框搜索 “壁纸”,然后右键查看任意图片的源地址,thumbURL所对应的 url 地址,如图所示:

在这里插入图片描述
使用上述方式多检查几张图片,会发现图片源地址,有两种匹配结果:

"hoverURL":"https://img1.baidu.com/it/u=1026360805,1567430550&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800"
"thumbURL":"https://img1.baidu.com/it/u=1026360805,1567430550&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800"

任选其一,写出图片源地址正则表达式,如下所示:

urladdr='"hoverURL":"(.*?)"'

代码实例

下载百度图片代码实例:
自己测试了可以用,修改了按翻页形式下载,可调整下载张数(默认单页下载60张,不可修改)。
代码地址,请自行下载
在这里插入图片描述

在这里插入图片描述

总结

学习任何知识都是一个循序渐进的过程,从嘤嘤学语到出口成章,从蹒跚学步到健步如飞,你可以收获到学习知识的快乐还能交到好多志同道合的朋友。python抓取的相关知识只能算一个简单的分支,当然好好钻研下去都能收获满满。
这里告诫自己:借鉴前人,完善自我,不断创新,愿有梦想的你,越来越好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逃逸的卡路里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值