装X利器:做一个Python爬虫小工具——图片下载器

一、项目描述

前言:

这是一个非常简单的网络爬虫,非常适合初学者了解Python连接网络的初级操作;
平时,如果我们要在网络上下载图片,大家的做法通常是右键,然后图片另存为,但是我们是程序员,我们当然要尝试使用更加高端的方法——尝试用代码来搞定;

项目名称:

简易图片下载器

开发工具:

IDLE、Python3.8.0

项目功能:

通过执行程序,写网络爬虫,自动下载想要的图片;

二、知识要点

相关模块:urllib.request

Python为我们提供了urllib这个和网络有关的包,而我们需要使用的是这个包里的request模块;
以下为request这个模块的说明:
class urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
我们会发现,这里面除了url以外,其他都是有默认追的,所以我们只要设置url的值就可以了;
url可以是一个字符串,也可以是一个对象,如果你输入的是一个字符串,urlopen()函数会帮你自动转化成对象;
说白了,url里要填写的就是我们常说的网址;

图片网址:

注意,比方说你在百度图片上找到了一张你喜欢的图片:

在这里插入图片描述
当前的你看到的网址指的是这个网页的网址,而不是图片的网址,你要下载的是这张图片,而不是这个网页,所以你还要再图片上右键,选择“复制图片地址”,这样才是该图片的网址;

urlopen函数:

用这个函数打开一个网址,会返回一个类似于文件描述符的东西,因此,我们可以对这个文件描述符进行文件的读写操作;

三、程序代码

>>> import urllib.request
#这只是举例用的一个网址
>>> response = urllib.request.urlopen("https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1572853492&di=a226ae9445bf9d5a4ddc2221bde62f3c&src=http://n.sinaimg.cn/sinacn16/325/w533h592/20180317/71a2-fyshfuq8306244.jpg")
#对这个网络文件进行读取操作,返回一个文件描述符
>>> xishi_img = response.read()
#把读取出来的文件写入自己的电脑中,我这里把图片名字命名为“xishi.jpg”
>>> with open("xishi.jpg","wb") as f:
	f.write(xishi_img)

四、运行结果

在你电脑中Python安装的那个路径下,会出现你下载的图片;
在这里插入图片描述
大家看,xishi.jpg就是刚才我们下载的那张图片;
注意:是你安装Python的那个路径下,不是桌面上,桌面上你是找不到的!!!
在这里插入图片描述

发布了53 篇原创文章 · 获赞 18 · 访问量 7210

猜你喜欢

转载自blog.csdn.net/Nire_Yeyu/article/details/102898767