python实现简单爬虫
2016-04-12 18:28
423 查看
现在网上的资源特别丰富,尤其是如果在看到某些网站上的好看的图片就会想要保存下来,但是很麻烦需要的一个一个点击下载,可是如果我们用程序来处理的话,问题将会变得非常简单,只需要运行程序就可以拿到整个网页上的所有图片。
下面我们可以看一下怎样用python实现一个简单的获取网页图片的的爬虫小程序。
一、第一步,怎样获取到整个page?
getPage.py
首先要导入urllib模块,此模块的作用是帮助我们通过url打开任意资源
urlopen(url, [,data])——根据url打开一个网页,根据参数区分post或者get
read():读取整个页面所有信息
二、如何只获取到图片?
savePhotos.py
正则表达式。这里我们用正则表达式来对获取到的网页信息进行过滤。
导入urllib和re模块
解析方法getPhotos.py中的语句
第一步:创建正则表达式的过滤规则;
第二步:编译正则表达式
第三步:将符合规则的文件即图片保存到imglist中
第四步:用urlretrieve()方法保存图片到本地。其中第二个参数设置保存文件位置。
这样就可以实现一个python的一个简单的获取网页图片的爬虫
爬到的图片 ,如下:
下面我们可以看一下怎样用python实现一个简单的获取网页图片的的爬虫小程序。
一、第一步,怎样获取到整个page?
getPage.py
import urllib def getPage(url): page = urllib.urlopen(url) content = page.read() return content content = getPage("http://tieba.baidu.com/p/2510089409")
首先要导入urllib模块,此模块的作用是帮助我们通过url打开任意资源
urlopen(url, [,data])——根据url打开一个网页,根据参数区分post或者get
read():读取整个页面所有信息
二、如何只获取到图片?
savePhotos.py
import urllib import re def getPage(url): page = urllib.urlopen(url) content = page.read() return content def getPhotos(content): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = re.findall(imgre,content) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,'./photos/%s.jpg' % x) x+=1 content = getPage("http://tieba.baidu.com/p/2510089409") print getPhotos(content)
正则表达式。这里我们用正则表达式来对获取到的网页信息进行过滤。
导入urllib和re模块
解析方法getPhotos.py中的语句
第一步:创建正则表达式的过滤规则;
第二步:编译正则表达式
第三步:将符合规则的文件即图片保存到imglist中
第四步:用urlretrieve()方法保存图片到本地。其中第二个参数设置保存文件位置。
这样就可以实现一个python的一个简单的获取网页图片的爬虫
爬到的图片 ,如下:
相关文章推荐
- 快速入门:十分钟学会Python
- 老鸟的Python入门教程
- Python工具:保留小数的指定有效位数
- 未来两年我们即将要读的Python书!
- python学习10-文件处理
- 初学python(对比java语言不同) 第八篇
- 【python小练】0014题 和 0015 题
- python版恶俗古风自动生成器.py
- Python 文件/文件夹操作(读写read/write、复制copy、删除delete、重命名rename)
- Python之路【第十九篇】自定义分页实现(模块化)
- 【python学习】多线程 与 面向对象 结合的一个经典例子
- Python回顾与整理9:函数和函数式编程
- python3.4中自定义wsgi函数,make_server函数报错问题
- python xpath 语法
- Python的OO思想
- Python 正则re模块之compile()和findall()详解
- 2016.4.12Python迭代器,函数式编程,map/reduce高阶函数
- python关于BIF、标准库方法使用的注意事项总结
- python pip 安装
- nagios用python实现微信报警