zoukankan      html  css  js  c++  java
  • 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的一个简单的获取网页图片的爬虫

    爬到的图片 ,如下:

     

  • 相关阅读:
    vector、list、deque三者比较
    python多线程
    爬虫入门之线程进程协程抓取方法(八)
    爬虫之绘图matplotlib与词云(七)
    python字符串反转 高阶函数 @property与sorted(八)
    爬虫入门之Requests模块学习(四)
    爬虫入门之handler与opener(三)
    mongodb/python3.6/mysql的安装
    nginx配置+uwsgi+负载均衡配置
    [JLOI2016] 成绩比较
  • 原文地址:https://www.cnblogs.com/siriu-s/p/5383099.html
Copyright © 2011-2022 走看看