[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.picName

def 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

时间: 2024-08-05 10:23:29

[python爬虫]简单爬虫功能的相关文章

python实现简单爬虫(二)---- 使用urllib等python模块

之前使用scrapy实现了一个超级简单的爬虫工具,用于抓取豆瓣上面所有的编程书籍信息(由于不需要爬取整个页面的所以链接,所以不需要用到BFS or DFS,只实现顺序抓取下一页) 这次使用的是python自带的urllib 和urllib2等python模块实现,同样以豆瓣上面的爱情电影信息作为爬取对象,方法与过程其实如出一辙,同样是对每一个页面发出请求后获取响应得到的网页源码,再使用正则表达式去匹配获得所需信息,然后获取下一页的链接继续爬取. 爬取页面: 网页源码: title and lin

Python开发简单爬虫

可关注我的个人微信公众号:卟野iiiiiiiya Python开发简单爬虫: https://mp.weixin.qq.com/s?__biz=MzI0MDY0NzI3Mw==&tempkey=OTMwX3pMejY4VFdoVlQ1cWpyNXNYdFhqcWViaHY1bFlQUTdmU1RrUnpkc1IzQmNfWENHVXFZb2ZLajhURlFyZmZaa3JVOHRkYkJaZVF1ZXVmdk5nUHFFNU0xeVAyQm1rMnlLbVJGa3h4eTBpMjNVdnc3b

Python 开发简单爬虫 - 基础框架

1. 目标:开发轻量级爬虫(不包括需登陆的 和 Javascript异步加载的) 不需要登陆的静态网页抓取 2. 内容: 2.1 爬虫简介 2.2 简单爬虫架构 2.3 URL管理器 2.4 网页下载器(urllib2) 2.5 网页解析器(BeautifulSoup) 2.6 完整实例:爬取百度百科Python词条相关的1000个页面数据 3. 爬虫简介:一段自动抓取互联网信息的程序 爬虫价值:互联网数据,为我所用. 4. 简单爬虫架构: 运行流程: 5. URL管理器:管理待抓取URL集合

Python开发简单爬虫(一)

一 .简单爬虫架构: 爬虫调度端:启动爬虫,停止爬虫,监视爬虫运行情况 URL管理器:对将要爬取的和已经爬取过的URL进行管理:可取出带爬取的URL,将其传送给“网页下载器” 网页下载器:将URL指定的网页下载,存储成一个字符串,在传送给“网页解析器” 网页解析器:解析网页可解析出 ①有价值的数据 ②另一方面,每个网页都包含有指向其他网页的URL,解析出来后可补充进“URL管理器”,不断循环. 二.简单爬虫架构的动态运行流程 三.爬虫URL管理 URL管理器:管理待抓取URL集合和已抓取URL集

python实现简单爬虫功能

1 #首先我们可以先获取要下载图片的整个页面信息 2 #coding=utf-8 3 #Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据 4 import urllib 5 import re 6 #首先,我们定义了一个getHtml()函数: 7 def getHtml(url): 8 #urllib.urlopen()方法用于打开一个URL地址 9 page = urllib.urlopen(url) 10 #read()方法用于读取UR

python实现简单爬虫

现在网上的资源特别丰富,尤其是如果在看到某些网站上的好看的图片就会想要保存下来,但是很麻烦需要的一个一个点击下载,可是如果我们用程序来处理的话,问题将会变得非常简单,只需要运行程序就可以拿到整个网页上的所有图片. 下面我们可以看一下怎样用python实现一个简单的获取网页图片的的爬虫小程序. 一.第一步,怎样获取到整个page? getPage.py import urllib def getPage(url): page = urllib.urlopen(url) content = page

python scrapy简单爬虫记录(实现简单爬取知乎)

之前写了个scrapy的学习记录,只是简单的介绍了下scrapy的一些内容,并没有实际的例子,现在开始记录例子 使用的环境是python2.7, scrapy1.2.0 首先创建项目 在要建立项目的目录下执行命令scrapy startproject tutorial scrapy会帮你建立好项目,接着创建蜘蛛scrapy genspider zhuhuSpider zhihu.com 当前的文件结构是 --tutorial --spiders --__init__.py --zhihuSpid

Python开发简单爬虫(二)---爬取百度百科页面数据

一.开发爬虫的步骤 1.确定目标抓取策略: 打开目标页面,通过右键审查元素确定网页的url格式.数据格式.和网页编码形式. ①先看url的格式, F12观察一下链接的形式;② 再看目标文本信息的标签格式, 比如文本数据为div class="xxx", ③ 容易看到编码为utf-8 2.分析目标 目标: 百度百科python词条 入口页: http://baike.baidu.com/item/Python词条页面url格式:/item/**** 数据格式: 标题: <dd cl

Python 开发简单爬虫 - 实战演练

爬取百度百科1000个页面的数据 1. 准备工作: 确定目标  =>  分析目标(URL格式, 数据格式, 网页编码) =>  编写代码  =>  执行爬虫 1.1 链接分析: 进入百度百科"Python"词条页面:http://baike.baidu.com/view/21087.htm => 在链接位置右键后,点击审查元素, href="/view/2561555.htm" 是一个不完整的url, 在代码中需要拼接成完整的 baike.b