[python爬虫]简单爬虫功能,,在我们日常上网浏览网


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

我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。就算可以弄下来,但是我们需要几千个页面当中的图片,如果一个一个下载,你的手将残。好吧~!其实你很厉害的,右键查看页面源代码。

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

一、获取整个页面数据

def get_content(url):    """    获取网页源码    """    html = urllib.urlopen(url)    content = html.read()    html.close()    return content

二、抓取图片文件名

抓取文件名时,由于特殊符号会影响显示,所以将“ * ”,“ / ”等符号删

def get_name(name,file):    """    抓取图片文件名    """    self.picName = name.decode(‘utf-8‘)    if "*" in self.picName:        self.picName = self.picName.replace("*","")    elif "/" in self.picName:        self.picName = self.picName.replace("/","")    print self.picNamedef get_file(info):    """    获取img文件    """    soup = BeautifulSoup(info,"html.parser")    # 找到所有免费下载的模块    all_files = soup.find_all(‘a‘,title="免费下载")    # 找到所有的hi标题    titles = soup.find_all(‘h1‘)    # 截取需要的标题    for title in titles:        name = str(title)[4:-5]        # 获取文件名    for file in all_files:            get_name(name,file)

、下载图片

下载后缀名是"gif"或者"jpg"的图片,并存放在E:\\googleDownLoad\\\cssmuban目录下

def pic_category(str_images):    """    下载图片    """    soup = BeautifulSoup(info,"html.parser")    all_image = soup.find_all(‘div‘,class_="large-Imgs")    images = str_images    pat = re.compile(images)    image_code = re.findall(pat,str(all_image))    for i in image_code:        if str(i)[-3:] == ‘gif‘:            image = urllib.urlretrieve(‘http://www.cssmoban.com‘+str(i), ‘E:\\googleDownLoad\\\cssmuban\\‘+str(self.picName).decode(‘utf-8‘)+‘.gif‘)        else:            image = urllib.urlretrieve(‘http://www.cssmoban.com‘+str(i), ‘E:\\googleDownLoad\\\cssmuban\\‘+str(self.picName).decode(‘utf-8‘)+‘.jpg‘)        def pic_download(info):    """    下载图片    """    pic_category(r‘src="(.+?\.gif)"‘)    pic_category(r‘src="(.+?\.jpg)"‘)

、遍历所有url,下载每个页面的所需要的图片和文件名

self.num = 1# 下载文件for i in range(6000):    url = ‘http://www.cssmoban.com/cssthemes/‘+ str(self.num) +‘.shtml‘    info = get_content(url)    get_file(info)    pic_download(info)    self.num = self.num + 1

运行结果如下:

技术分享

技术分享

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】原文链接:http://www.cnblogs.com/superdo/p/4927574.html

[python爬虫]简单爬虫功能

相关内容

    暂无相关文章

评论关闭