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


Requests库安装

python -m pip install requests

get请求方法
requests.get()

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

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

代码实例和运行结果如图:

python 下载图片并保存 python下载图片代码_百度

对象属性

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

属性

说明

encoding

查看或指定响应字符编码

staus_code

返回HTTP响应码

url

查看请求头信息

headers

查看请求头信息

cookies

查看cookies信息

text

以字符串形式输出

content

以字节流形式输出,若要保存下载图片需使用该属性

使用示例和输出结果如下图:

python 下载图片并保存 python下载图片代码_代码实例_02

下载指定百度图片

打开百度图片翻页版(点击访问),建议大家要收藏保留。
其 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 地址,如图所示:

python 下载图片并保存 python下载图片代码_百度_03


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

"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 下载图片并保存 python下载图片代码_百度_04

python 下载图片并保存 python下载图片代码_代码实例_05

总结

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