Python知识点复习和回顾

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)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容