前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >七日Python之路--第三天

七日Python之路--第三天

作者头像
lpe234
发布2020-07-27 16:58:47
2350
发布2020-07-27 16:58:47
举报
文章被收录于专栏:若是烟花若是烟花

之前由于看基础看的觉着没意思,才去提前看一下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/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档