原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://baiying.blog.51cto.com/1068039/1169299

本文代码来自中谷教育邹琪鲜老师的视频,地址http://www.csvt.net/resource/video/6844/largesize

注:本文旨在练习正则表达式的简单使用方法

#!/usr/bin/evn python

# -*- coding: cp936 -*-

import re                  #导入正则表达式模块
import urllib              #导入urllib模块,读取页面与下载页面需要用到

def getHtml(url):           #定义getHtml()函数,用来获取页面源代码
    page = urllib.urlopen(url)    #urlopen()根据url来获取页面源代码
    html = page.read()           #从获取的对象中读取内容
    return html

def getImage(html):  #定义getImage()函数,用来获取图片地址并下载
    reg = r'src=\'#\'" width'   #定义匹配图片地址的url的正则表达式
    imgre = re.compile(reg)   #对正则表达式进行编译,运行效率更高
    imagelist = imgre.findall(html)  #使用findall()查找html中匹配正则表达式的图片url
    x = 0
    for imageurl in imagelist:
        urllib.urlretrieve(imageurl,'picture_%s.jpg' % x)  #urlretrieve()下载文件
        x +=1

uri = raw_input("请输入网址: ")
r = r'^http://'
if re.match(r,uri):
    html2 = getHtml(uri)
else:
    html2 = getHtml("http://" + uri)
getImage(html2)

运行脚本test.py

抓取到的图片如下:

 

 

本文出自 “赵海华_运维之路” 博客,请务必保留此出处http://baiying.blog.51cto.com/1068039/1169299

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()