Python知识点复习和回顾

作者: 262153 | 来源:发表于2019-01-20 12:52 被阅读2次

    1.python基础知识

    pandas常用函数清单: 1.import模块导入;2.文件读取(数据导入)3.数据预处理 4.数据筛选 5.数据运算与排序 6. 常用的统计函数

    Python数据分析学习路径图 : 1.基础知识和正则表达式 2.数据采集和收集(爬虫)3. 数据分析 4. 数据可视化

    python的基础知识归纳梳理(便于复习和查漏)

    (1)关于序列: (list, string, tuple)

    操作包括: 索引、切片、加、减、成员操作、最大最小值、长度等

    需要注意的是关于tuple的属性:成员不可更改,不过对于a = (1,2,[1,2,3],4)中a的直属子元素不可更改,不过可以尝试a[2].append(3)结果是可更改的;tuple定义单个元素b = (2,), 其中的“,”不可省略。

    list: 生成方式还有列表推导式[x*x for x in range(1,10,2)]

    dict: 关于爬虫headers和params的定义(复制的信息进行更改)

    (2)强大的内建函数

    map() :  map(函数, 序列),函数作用于序列的每一个元素。返回序列

    reduce() 累计操作:  累计的方式取决于传入的函数;返回一个元素

    filter() 筛选: 用公式(函数)对序列进行筛选,输出筛选值。

    map(str,[1, 2, 3, 4, 5, 6, 7, 8, 9])

    ['1', '2', '3', '4', '5', '6', '7', '8', '9']

    reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数  ;结果:15

    defis_odd(n):

         returnn %2==1

    filter(is_odd, [1,2,4,5,6,9,10,15])# 结果: [1, 5, 9, 15]

    (3)基础操作技巧与规范

    [1]定义函数需要对于函数的功能与参数进行定义说明;

    [2]对于元素的属性操作忘记了,可以通过dir()函数进行查看;help(function)

    [3] 熟悉防御式编程,使用try...except...;

    当然exception的类型需要自己去了解。

    (4)需要进一步继续学习和了解

    迭代器:生成器(Generator),可通过next()调用;定义时包含yeild: a 输出a ,并保存a的状态。

    继承和函数装饰器:一个允许在已有

    类上进行更改和丰富类的属性;装饰器为函数添加附加功能,并不修改源码以及调用方式。

    2.python爬虫相关知识复习

    (1)基础了解性知识

    URI 分为url 和urn 两种, 比较常用的是url,因此广为熟知。

    HTTP//HTTPS : 区别加入了SSL层(CA证书认证)**牛逼的特例 12306。

    网页的组成

    HTML: 网页的骨架(内容与结构) tag 通过标签的不同排序和嵌套

    CSS: 皮肤(布局) 层叠样式表 目前唯一的网页排版样式 (# .)

    Javascript:肌肉(行为) 脚本语言  页面的交互和动态效果


    spider: 获取网页 => 提取信息 => 保存数据 => 自动化程序(快速获取大量数据)

    为了保持HTTP的链接状态: cookies 和会话技术;cookies保存在用户本地,是网站用于用户身份识别的标识,会话是服务器端用来存储特定用户会话的属性以及配置信息,会话终止和过期之前一直有效。

    (2)基本库的使用(urllib//requests)

    A.Urilib库

    urllib : python3中已将urllib库进行了整合,统一为urllib,主要有四个模块:

        request:HTTP 请求模块

        error: 异常处理

        parse: 工具模块,熟知的有urllib.parse.unicode(); 包括拆分,解析,合并

        robotparser: 识别网站robots.txt文件


    (1) request:HTTP 请求模块

    [1] .urlopen()

            urllib.request.urlopen(url, data=None, [timeout=]*, cafile=None, capath=None, cadefault=False, context=None)

    [2]Request:构造请求

            urllib.request.Request(url, data= None, headers={}, origin_req_host=None, unverfiable=False, method=None)

    [3]高级用法: cookie 和 proxy 代理设置

             强大的Handler,可以构造各种处理器,如专门登陆验证,cookies,proxy代理;

    *** urllib.request模块里的BaseHandler类,所有Handler的父类提供最基本的方法,如default_open(), protocol_request()等

                常用的有:

                HTTPDefaultErrorHandler: HTTP响应错误 #

                HTTPRedirectHandler:    重定向 #

                HTTPCookieProcessor:    cookies

                ProxyHandler:            proxy代理

                HTTPPasswordMfr:        管理密码

                HTTPBasicAuthHandler:    管理认证,链接的认证

    (2)error: 异常处理

    URLError: 继承于OSError,是request模块异常的基类(包含最广的) ,具有 .reason(属性); HTTPError: URLError的子类,用于捕获HTTP 请求错误

    (3)parse: 工具模块,熟知的有urllib.parse.unicode(); 包括拆分,解析,合并

    (4)robotparser: 识别网站robots.txt文件 ;判断爬虫是否有权限爬取此网页


    B.requests库

    (1).get()

        req = requests.get(url, params={}, headers={}, proxies={} ,)

        req.text; req.content; req.status_code, req.cookies

        (2) post() 上传文件

        file = {}

        r = requests.post(url, file=files)

        (3) .session() 会话维持

        s = requests.session()

        req = s.get(url,...)

        (4) SSL证书认证

        a. 参数设置varify=False, 忽略证书错误;

        b. 加载本地证书: 参数设置, cert=("server.crt路径", "key路径")

        (5) 代理设置

        proxies ={"http":"http://user:password@host:port", }

        (6) 超时设置 timeout=

        (7) 身份认证

        (8) Prepared Request

        urllib库可同通过 urllib.request.Request(url) => request请求 => reponse = urllib.rquest.urlopen(rquest)

        同样: requests库同样支持,

       from requests import Request, session

        url = " "

        s = session()

        req = Request("post", url, data=data, headers=headers)

        prepped = s.prepped_request(req)

        r = s.send(prepped)

    相关文章

      网友评论

        本文标题:Python知识点复习和回顾

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