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的一个简单的获取网页图片的爬虫

爬到的图片 ,如下:

 

原文地址:https://www.cnblogs.com/siriu-s/p/5383099.html