10.高级拓展模块

目录

一、图像处理库

1.Pillow库

2.图像处理步骤

a.打开图像

b.处理图像

c.存取或显示图像

3.缩略图

4.模糊效果

5.添加文字

6.生成验证码

二、Web服务框架

1.Web应用

2.框架

3.框架的特性

a.路由

b.模板

c.认证和授权

d.Session

4.Flask框架

5.表单插件Flask-WTF

三、网络爬虫

1.搜索引擎蜘蛛

2.requests库

定制请求头:

设置代理:

3.Beautiful Soup

页面解释器:

解析器类型:

搜索方法:

4.爬虫的基本流程

a.分析网页结构

b.爬取页面

c.解析页面

四、绘制数据图表

1.numpy库

a.方法

b.属性

2.matplotlib绘图库

3.绘制函数图像的基本思路

基本思路:

numpy的linspace()函数生成数组:

matplotlib库的plot()函数来画图:

4.plot()函数的绘画样式参数

5.标签图例

坐标轴标签:

图形标题:

6.散点图

7.直方图

 五、上机练习

欢迎在评论区分享答案和思路

第一个:信息隐藏工具

第二个:微博系统

第三个:求圆周率


一、图像处理库

1.Pillow库

Python里的图像处理库

PIL:Python Image Library

功能强大,可以对图像做各种处理

缩放、裁剪、旋转、滤镜、文字、调色板等等

2.图像处理步骤

a.打开图像

image.open(<路径+图像名+文件格式>)

Pillow库能自动根据文件内容确定格式

若图片在程序目录下,则不需要附带路径,直接将图像名+文件格式作为参数

b.处理图像

image模块中提供了大量处理图像的方法

c.存取或显示图像

im.show()

im.save(<文件名>)

3.缩略图

thumbnail函数

thumbnail(size,Image.ANTIALIAS)

参数size为一个元组,指定了生成缩略图的大小

直接对内存中的原图进行了修改,但是修改完后的图片需要保存,处理后的图片不会被拉伸

4.模糊效果

5.添加文字

6.生成验证码

from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random
# 随机字母:
def rndChar ():
    return chr (random. randint (65, 90))
# 随机颜色1:
def rndColor():
    return (random. randint (64, 255),\
            random. randint (64, 255),\
            random. randint (64, 255))
# 随机顔色2:
def rndColor2():
    return (random. randint (32, 127),\
            random. randint (32, 127),\
            random. randint (32, 127))
# 240x 60:
width = 60*4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
#創建Font対象:
font = ImageFont.truetype('Arial.ttf',36)
#创建Draw对象:
draw = ImageDraw. Draw( image)
#填充每个像素:
for x in range(width) :
    for y in range (height):
        draw. point ((x, y), fill=rndColor ( ))
# 输出文字:
for t in range (4) :
    draw. text ( (60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
#模糊:
image = image. filter (ImageFilter. BLUR)
image.save( 'code.jpg', 'jpeg')

随机生成:

二、Web服务框架

1.Web应用

Web应用已经成为目前最热门的应用软件形式

Web应用通过Web服务器提供服务,客户端采用浏览器或者遵循HTTP协议的客户端

由于需要处理HTTP传输协议,很多Web开发框架涌现

2.框架

Web服务器会处理与浏览器客户端交互的HTTP协议具体细节,但对具体内容的处理还需要自己编写代码

一个web框架至少要具备处理浏览器客户端请求和服务端响应的功能

3.框架的特性

一个框架可能具备以下特性中的一种或多种

a.路由

解析URL并找到对应的服务端文件或者python服务器代码

b.模板

把服务端数据合并成HTML页面

c.认证和授权

处理用户名、密码和权限

d.Session

处理用户在多次请求之间需要存储的数据

4.Flask框架

Flask是一种非常容易上手的python web开发框架,功能强大,支持很多专业web开发需要的扩展功能

有facebook认证和数据库集成

只需要具备基本的python开发技能就可以开发出一个web应用来

简单应用:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World"
if __name__=="__main__" :
    app.run()

5.表单插件Flask-WTF

关于表单的扩展库

使用Flask-WTF时,每个表单都抽象成一个类

三、网络爬虫

1.搜索引擎蜘蛛

 爬虫是按照一定的规则,自动地提取并保存网页中信息的程序

蜘蛛沿着网络抓取猎物

通过一个节点之后,顺着该节点连线继续爬行到下一个节点,最终爬完整个网络的全部节点

通过向网站发起请求获取资源,提取其中有用的信息

2.requests库

Python实现的一个简单易用的HTTP库

支持HTTP持久连接和连接池、SSL证书验证、cookies处理、流式上传等

向服务器发起请求并获取响应,完成访问网页的步骤

简洁、容易理解,是最友好的网络爬虫

定制请求头:

requests的请求接口有一个名为handers的参数,向它传递一个字典来完成请求头定制

设置代理:

一些网站设置了同一 IP访问次数的限制,可以在发送请求时指定proxies参数来替换代理,解决这一问题

3.Beautiful Soup

页面解释器:

使用requests库下载了网页并转换成字符串后,需要一个解析器来处理HTML和XML,解析页面格式提取有用的信息

解析器类型:

搜索方法:

4.爬虫的基本流程

a.分析网页结构

b.爬取页面

通过requests库向目标站点发送请求,若对方服务器正常使用,能够收到一个response对象,它包含了服务器返回的所有信息

c.解析页面

HTML代码-网页解析器

Json数据-json模块,转化成json对象

二进制数据-以web形式写入文件,再做进一步处理

四、绘制数据图表

1.numpy库

numpy是python用于处理大型矩阵的一个速度极快的数字库

可以做向量和矩阵的运算,包括各种创建矩阵的方法,以及一般的矩阵运算、求逆、求转置

它的很多底层的函数都是用c写的,可以得到在普通python中无法达到的运行速度

a.方法

b.属性

2.matplotlib绘图库

matplotlib是python的一个绘图库,它包含了大量的工具,可以使用这些工具创建各种图形

简单的散点图、折线图,甚至是三维图形、动画等

3.绘制函数图像的基本思路

基本思路:

通过将图像上的一些点的坐标连接起来,即可绘制函数的近似图像,当点越多时,返回图像越接近函数图像

numpy的linspace()函数生成数组:

numpy.linspace(<start>,<stop>,<num>)

生成一个存放等差数列的数组,数组元素为浮点型,包含三个参数,分别是:数列起始值、终止值(默认包含自身)、数列元素个数

matplotlib库的plot()函数来画图:

可以设定图形,颜色,线条线型以及做标注等

4.plot()函数的绘画样式参数

5.标签图例

坐标轴标签:

plt.xlabel()\plt.ylabel()

图形标题:

plt.title()

6.散点图

7.直方图

 五、上机练习

太难了,不会,以后学了更多的东西可以回来试试

欢迎在评论区分享答案和思路

第一个:信息隐藏工具

第二个:微博系统

第三个:求圆周率

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值