您的位置:首页 > 编程语言 > Python开发

python实现简单爬虫

2016-04-12 18:28 423 查看
  现在网上的资源特别丰富,尤其是如果在看到某些网站上的好看的图片就会想要保存下来,但是很麻烦需要的一个一个点击下载,可是如果我们用程序来处理的话,问题将会变得非常简单,只需要运行程序就可以拿到整个网页上的所有图片。

  下面我们可以看一下怎样用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的一个简单的获取网页图片的爬虫

爬到的图片 ,如下:

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: