如何用Python来制作简单的爬虫,爬取到你想要的图片

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。

我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。

我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。

一,获取整个页面数据

首先我们可以先获取要下载图片的整个页面信息。

getjpg.py

Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:

read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。

二,筛选页面中想要的数据

Python 提供了非常强大的正则表达式,我们需要先要了解一点python 正则表达式的知识才行。

假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=”http://imgsrc.baidu.com/forum......jpg”pic_ext=”jpeg”

修改代码如下:

如何用Python来制作简单的爬虫,爬取到你想要的图片

我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:

!](http://upload-images.jianshu.io/upload_images/13090773-e35904646e3d9df2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如果你在学习Python的过程中遇见了很多疑问和难题,可以加-q-u-n 227 -435-450里面有软件视频资料免费

运行脚本将得到整个页面中包含图片的URL地址。

三,将页面筛选的数据保存到本地

把筛选的图片地址通过for循环遍历并保存到本地,代码如下:

这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。

通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。

程序运行完成,将在目录下看到下载到本地的文件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博客

ExtJs九(ExtJs Mvc用户管理之一)

首先要做的是为用户信息创建一个模型,在Scripts\app\model目录下创建一个名为User.js的文件,然后添加以下模型定义代码:

12820
来自专栏张戈的专栏

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

前几天就收到 WordPress 官方发来的预更新通知,告诉我本周会更新到 4.2。果然,昨天就收到了更新推送消息,随手就点击升级了,前台打开看了下没有看到明显...

375100
来自专栏Albert陈凯

2018-09-03 简单问题:VIM中 查找 “上一个” 的快捷键是什么?G 移动光标到指定行#. 例如: 5G-> 光标下反向搜索关键词 (search the word under cursor

https://blog.csdn.net/qq_31307253/article/details/78652494

1.8K10
来自专栏Samego开发资源

初识NodeJS服务端开发之NodeJS+Express+MySQL

39220
来自专栏从零开始学自动化测试

Fiddler抓包7-post请求(json)

前言 上一篇讲过get请求的参数都在url里,post请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。 一、body数据类...

31770
来自专栏企鹅号快讯

使用技巧精讲

1、快速建立连接 单击顶部活动菜单栏上的“快速建立连接按钮”(Alt+Q),如图1 图1 单击按钮后,弹出图2所示的窗口 ? 图2 Protocol:默认SSH...

22250
来自专栏晓晨的专栏

Html页面雪花效果的实现

1K40
来自专栏飞雪无情的博客

Go语言实战笔记(二十一)| Go 单元测试

相信我们做程序员的,对单元测试都不陌生。单元测试一般是用来测试我们的代码逻辑有没有问题,有没有按照我们期望的运行,以保证代码质量。

17720
来自专栏数据小魔方

Excel多工作薄合并

今天要给大家介绍一下Excel多工作表合并的技巧! 由于Excel工作薄文件可以包含多个工作表,所以合并起来要比Word麻烦! 目前还无法单纯通过Excel界面...

32360
来自专栏小狼的世界

Silverlight学习笔记:资源的位置

    在 Web 项目中,我们免不了使用一些诸如图片、音频、视频、字体之类的在我们的程序中非可执行的数据文件,习惯称之为资源文件。在Silverlight中,...

7520

扫码关注云+社区

领取腾讯云代金券