python实现简单爬虫功能(网站图片)

news/2024/5/8 19:26:41/文章来源:https://blog.csdn.net/niutianzhuang/article/details/84076604

转自http://www.cnblogs.com/fnng/p/3576154.html

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

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

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

 

 

一,获取整个页面数据

 

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

getjpg.py

复制代码

#coding=utf-8
import urllibdef getHtml(url):page = urllib.urlopen(url)html = page.read()return htmlhtml = getHtml("http://tieba.baidu.com/p/2738151262")print html

复制代码

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

  urllib.urlopen()方法用于打开一个URL地址。

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

 

 

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

 

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

http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html

 

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

修改代码如下:

复制代码

import re
import urllibdef getHtml(url):page = urllib.urlopen(url)html = page.read()return htmldef getImg(html):reg = r'src="(.+?\.jpg)" pic_ext'imgre = re.compile(reg)imglist = re.findall(imgre,html)return imglist      html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)

复制代码

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

  re.compile() 可以把正则表达式编译成一个正则表达式对象.

  re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。

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

 

 

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

 

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

 

复制代码

#coding=utf-8
import urllib
import redef getHtml(url):page = urllib.urlopen(url)html = page.read()return htmldef getImg(html):reg = r'src="(.+?\.jpg)" pic_ext'imgre = re.compile(reg)imglist = re.findall(imgre,html)x = 0for imgurl in imglist:urllib.urlretrieve(imgurl,'%s.jpg' % x)x+=1html = getHtml("http://tieba.baidu.com/p/2460150866")print getImg(html)

复制代码

 

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

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_702076.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几个不错的java类、jar包及其依赖查找网站。。。

为什么80%的码农都做不了架构师?>>> 开发过程中有时需要查找类对应的jar包及其依赖,并且要能够下载。。。 之前都是用的以下两个(第一个还是不错,第二个比较垃圾,很多都查不到- -!) http://www…

四、管理网站(一) Using the command line interface

Orchard为许多在管理面板中可用的和不可用的功能的命令行接口。命令行工具名称是 “orchard.exe”,在网站根目录下bin目录中。 Using Commands 要查看可用的命令,输入help commands。 orchard> help commands List of available commands: ----------…

记一次网站服务器搬迁实录

这是一篇记录在日志里面的文章,今儿趁有时间整理整理。这篇文章记录了整个服务器切换的具体步骤和实施细则,一些小网站的搬迁和服务器的迁移可以做个参考。同时也记录下,方便自己的查阅。这是一个phpmysql写的网站,前期用的window…

经典网页设计:20个与众不同的 Flash 网站设计作品

如果你正在为你的 Flash 网站设计项目寻找灵感和新思路,那么这篇文章推荐的20个非常有创意的 Flash 网站设计作品相信能帮助到你。Flash 网站页面美观,互动性强,可以声形并茂,实现普通的 HTML 网站不能制造出的质感和动作&#xf…

curl网站开发指南

转载 http://www.ruanyifeng.com/blog/2011/09/curl.html 我一向以为,curl只是一个编程用的函数库。最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法。curl网站开发指南阮一峰 整理curl是一种命令行…

我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程

评论 文章目录 为什么要Https如何选择Https安装部署SSL证书平滑过渡Https搜索引擎的响应启用Https小结正如大家所看到的,部落全站已经启用了Https访问了,连续几天的网站安装和调试SSL终于可以告一段落了。曾经看到身边不少的朋友纷纷启用Https&#xff…

网站无法显示logo?

那是因为你没有配置favicon.ico,每个网站根目录都会有一个favicon.ico,因为每个服务器都会请求根目录下的它。 转载于:https://www.cnblogs.com/cisum/p/8743722.html

html优化网站的方法,利用HTML优化加快网页速度方法介绍

减少web页面下载时间的关键就是设法减小文件大小。当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来。比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的。js文件,然后再在页面中按如下方式调用它&#xff1a…

优化网站设计(七):避免在CSS中使用表达式

前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。 作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices fo…

让你的网站拥有微博(weibo.com)关注图标

最近在做开发的过程中,有一个需求是在网站里面添加新浪微博(http://weibo.com)的关注图标。 先来看看我的运行效果,一下是四种不同的格式,实现都很简单: 操作步骤如下: 第一步:你需要申请一个微博(weibo.com)的账号 如…

php网站开发案例教程ppt,php网站开发案例教程》课件.ppt

php网站开发案例教程》课件.ppt还剩178页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点:PHP网…

大型网站系统架构分析--转

大型网站系统架构分析 原文地址:http://www.cnblogs.com/Mainz/archive/2009/04/28/1445424.html 千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性&#xf…

Nginx反向代理实现HTTPS网站

1、环境设置 这次是在windows环境下实现的,linux环境下步骤差不多 openssl的windows版本 下载地址: http://slproweb.com/products/Win32OpenSSL.html Nginx的windows版本 下载地址: http://nginx.org/en/download.html 网站使用python的to…

为什么说企业做网站不要选择或找低价便宜的网站建设制作公司?

本人曾经做过这样多次调研,发现存在一个普遍性的问题,那就是当企业在决定做一网站之前,一般都会对市场上的建站服务商进行一次统一的咨询与调查,了解建站服务商的价格和实力问题,其中,感触最深的当然还是价…

10款在线网站原型设计工具 总有一款适合你

2019独角兽企业重金招聘Python工程师标准>>> 现在,基于云端的软件渐渐成为主流,而网站原型设计工具当然也不例外。在线原型工具相比于桌面版有得天独厚的优势,它不需要安装、不限制地点、不限制操作系统,无论你使用的L…

大型网站架构演化发展历程

1初始阶段的网站架构2应用服务和数据服务分离3使用缓存改善网站性能4使用应用服务器集群改善网站的并发处理能力5数据库读写分离6使用反向代理和CDN加速网站响应7使用分布式文件系统和分布式数据库系统8使用NoSQL和搜索引擎9业务拆分10分布式服务转载于:https://www.cnblogs.co…

杨泽业:让你的网站无限可能之给你的网站增加汉字转拼音的新功能

一个网站可以无限可能,你的网站可以成就你的事业!这不是一句空话,而是一个可行的方案。今天杨泽业来给大家讲解一下最简单的网站功能的增加。现在增加的是【汉字转拼音】的新功能为例,让你了解一下,你的网站是可以增加…

ubuntu 压缩率最高的软件_不用写采集规则也可以轻松采集网站文章,揭秘一款明泽文章采集软件的工作原理...

一直以来,大家都在用各种各样的采集器或网站自带的采集功能,如织梦采集侠、火车头采集器、八爪鱼采集器等,这些采集软件都有一个共同的特点,就是要编写采集规则才能采集到文章,这个技术性的问题,对于新手来…

如何设计网站权限系统(转载)

作者:Vance链接:https://www.zhihu.com/question/20313385/answer/118095995来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 后台产品狗,之前踩过权限控制系统的大坑。 做完项目整体复…

不错的学习网站

2019独角兽企业重金招聘Python工程师标准>>> 百度: http://naotu.baidu.com/ http://fis.baidu.com/ http://fex.baidu.com/ https://github.com/fex-team/fex-edu http://fex.baidu.com/blog/2014/05/build-performance-monitor-in-7-days/ http://www.…