美文网首页
例1.python抓取图片

例1.python抓取图片

作者: Dabbie | 来源:发表于2018-08-31 17:28 被阅读0次

    import urllib.request

    import re

    # py抓取页面图片并保存到本地

    # 获取页面信息

    def getHtml(url):

        html = urllib.request.urlopen(url).read()

        return html

    # 通过正则获取图片

    def getImg(html):

        reg = r'src="(.+?\.jpg)" pic_ext'

        # 括号表示分组,将括号的内容捕获到分组当中

        # .+表示匹配至少一个任意字符,问号?表示懒惰匹配,也就是匹配尽可能少的字符串。

        # .+?\.jpg合起来表示尽可能少匹配字符的匹配到.jpg,避免匹配范围超出src的范围

        # 这个括号也就可以匹配网页中图片的url了

        # " pic_ext #匹配" pic_ext

        imgre = re.compile(reg)

        imglist = re.findall(imgre, html)

        # 正则 re.findall的简单用法(返回string中所有与pattern相匹配的全部字串,返回形式为数组)

        # findall(pattern, string, flags=0)

        print(imglist)

        return imglist

    html = getHtml("http://tieba.baidu.com/p/2460150866")

    list = getImg(html.decode())

    # 循环把图片存到本地

    x = 0

    for imgurl in list:

        print(x)

        urllib.request.urlretrieve(imgurl, r'%s.jpg' % x)

    # %s意思是字符串参数,就是将变量的值传入到字符串里面,字符串后的'%'后就是写要传入的参数

        x += 1

    # for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1

    # urllib.urlretrieve()方法,直接将远程数据下载到本地,保存的位置默认为程序的存放目录

    print(getImg(html))

    相关文章

      网友评论

          本文标题:例1.python抓取图片

          本文链接:https://www.haomeiwen.com/subject/tllewftx.html