首页
学习
活动
专区
圈层
工具
发布

七日Python之路--第三天

之前由于看基础看的觉着没意思,才去提前看一下Django的。现在突然不知到该干啥了。

不管什么语言,官方文档是必须的。so...........

莫名浮躁,实在看不下去........ 待会研究 re 吧。虽然之前研究过,但许久不使用,忘的差不多了....Orz.

--2014.7.23 18:37


正则表达式:

1.掌握正则表达式的规则

正则表达式是一种小型,高度专业化的编程语言,内嵌Python中,通过re模块实现。

正则表达式模式被编译成一系列字节码,由用C编写的匹配引擎执行。

字符匹配:普通字符,元字符

[] : 常用来指定一个字符集:[abc],[a-z]。补集匹配不在区间范围内的字符:[^5]

^ : 匹配行首。除非设置MULTILINE

$ : 匹配行尾,行尾被定义为字符串尾,或者一个换行字符后面的任何位置。


小程序:自动下载百度贴吧的图片

由于观看网易云课堂,遂转向了Win。win下面控制台编码为ascii,中文偶尔乱码。所以全部换成英文。

代码语言:javascript
复制
#输入百度贴吧地址,及当期目录将要新建的文件夹名称。即可下载并存入新建文件夹中。
#算是自己这几天来写的第一个小程序吧。不过程序还存在几个bug
#比如:url地址不合法,同名的文件夹已经存在等问题没有处理
#其中只有:url地址匹配用到了一点re的内容。
#说实话,Python真是简单,你所想要的功能基本都有了!!!
#还小有成就感呢,(*^__^*) 嘻嘻……

#coding:utf-8

import urllib
import re
import os

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r'src="(http://imgsrc.baidu.com.*?\.jpg)"'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    return imglist

def main():
    url = r'http://tieba.baidu.com/p/3179623479/'
    url = str(raw_input('input the url : '))
    forder = r'test'
    forder = str(raw_input('input the forder name : '))
    os.mkdir(forder)
    html = getHtml(url)
    count = 0
    for imgurl in getImg(html):
        count += 1
        print imgurl
        urllib.urlretrieve(imgurl,'%s/%s.jpg' % (forder,count))
    print 'total saved : %s pictures to : %s ' % (forder,count)

if __name__ == '__main__':
    main()

言归正传,下面接着讲正则表达式的内容...

--2014.7.24 1:43


IBM上一个Django简要内容:http://www.ibm.com/developerworks/cn/linux/l-django/

下一篇
举报
领券