
Python基础
法迪
Android系统与续航工程师、应用开发工程师
https://github.com/sufadi
332157261@qq.com
展开
-
学习笔记:Re 库的贪婪匹配和最小匹配
1. 笔记的学习视频来源:https://www.bilibili.com/video/BV1pt41137qK?p=392. Re库默认采用贪婪匹配虽然’PY.*N’匹配字符串’PY1N22N33N’ 可以得到 PY1N, PY1N22N, PY1N22N33N,但是Re库默认采用贪婪匹配,即输出最长的字符串PY1N22N33N """ # 特别字符 * 表示匹配前面的子表达式零次或多次 # 特别字符 . 匹配除换行符 \n 之外的任何单字符 # PY.*N 表原创 2022-01-05 22:21:56 · 1542 阅读 · 0 评论 -
学习笔记:Re 库的Match对象
1. 笔记的学习视频来源https://www.bilibili.com/video/BV1pt41137qK?p=382. Match 对象的属性属性说明.string待匹配的文本.re匹配是使用的pattern(正则表达式).pos正则表达式搜索文本的开始位置.endpos正则表达式搜索文本的结束位置3. Match 对象的方法方法说明.group(0)获得匹配后的字符串.start()匹配字符串在原始字符串的原创 2021-12-30 21:51:09 · 854 阅读 · 0 评论 -
学习笔记:Re 库主要功能函数
0. 笔记的学习视频来源:https://www.bilibili.com/video/BV1pt41137qK?p=371. 正则表达式-Regular expression 简称 RE作用:用来简洁表达一组字符串的表达式。达到一行胜千言.存在以下2种正则表达式的表示类型1.1 raw string 类型(原生字符串类型)re 库采用 raw string 表示正则表达式,表示为: r’text’例如:中国大陆的邮政编码正则表达式:r’[1-9]\d{5}’特点:不包含转义符的字符串的时原创 2021-12-29 22:59:26 · 2463 阅读 · 0 评论 -
学习笔记-正则表达式
1. 学习视频https://www.bilibili.com/video/BV1pt41137qK?p=35&spm_id_from=pageDriverhttps://www.bilibili.com/video/BV1pt41137qK?p=36&spm_id_from=pageDriver2. 正则表达式-Regular expression 简称 RE作用:用来简洁表达一组字符串的表达式。达到一行胜千言例子1:PY+可以表示以PY为开头的字符串特征‘PY’‘PYY’原创 2021-12-24 23:00:09 · 515 阅读 · 0 评论 -
学习笔记:中国大学排名定向爬虫
1. 学习视频中国大学排名定向爬虫:https://www.bilibili.com/video/BV1pt41137qK?p=33&spm_id_from=pageDriver2. 程序设计输入:https://www.shanghairanking.cn/rankings/bcur/2021输出:大学排名信息的打印(排名、大学名称、总分)技术路线:requests-bs4定向爬虫:仅对输入URL进行爬取,不拓展爬取从网络上获取大学排名网页内容提取网页内容中信息到合适的数据原创 2021-12-23 23:05:14 · 5685 阅读 · 4 评论 -
学习笔记:基于 bs4 库的 HTML 内容查找-find_all 的使用
1. 学习视频https://www.bilibili.com/video/BV1pt41137qK?p=282. <>.find_all(name, attrs, recursive, string, **kwargs)name: 对标签名称的检索字符串attrs:对标签属性值得检索字符串,可标注属性检索recursive: 是否对子孙全部检索,默认Truestring:对标签之间<>…</>中字符串区域的检索字符串缩写写法:(…) 等价于 .fi原创 2021-12-22 22:02:27 · 1104 阅读 · 0 评论 -
学习笔记:信息标记的三种形式
HTML的信息标记学习视频:https://www.bilibili.com/video/BV1pt41137qK?p=27&spm_id_from=pageDriverHTML-Hyper text markup language 是 www (world wide web) 的信息组织方式可以将声音、图像、视频等超文本的信息嵌入到文件中HTML 通过预定义的<>…</>标签形式组织不同类型的信息信息标记的三种形式1. XML: Extensible Ma原创 2021-12-21 21:57:06 · 772 阅读 · 0 评论 -
学习笔记:BeautifulSoup的3种遍历方式
1. 学习视频地址https://www.bilibili.com/video/BV1pt41137qK?p=232. HTML的基本格式-树形结构 <html> | |<head> <body> | | |<title> <p> <p> | | | <b> <a> <a>3. H原创 2021-12-19 21:23:40 · 2107 阅读 · 0 评论 -
学习笔记:Beautiful Soup 类的基本元素
1. 学习视频地址https://www.bilibili.com/video/BV1pt41137qK?p=222. Beautiful Soup 类的基本元素BeautifulSoup 库:也叫BeautifulSoup4或bs4,是解析、遍历、维护,标签树的功能库基本元素说明Tag标签,最基本的信息组织单位,分别用<>和</>标明开头和结尾Name标签的名字,…的名字是 p,格式:.nameAttributes标签的属性,字典形式原创 2021-12-17 23:16:06 · 1270 阅读 · 0 评论 -
学习笔记:网络图片的爬取与存储
1. 学习视频来源https://www.bilibili.com/video/BV1pt41137qK?p=172. 网络爬取图片API爬取优快云博客的某张图片博客地址:https://blog.youkuaiyun.com/su749520/article/details/104045070?spm=1001.2014.3001.5501获取图片地址鼠标移动到图片的位置,右键鼠标,选择审核元素,就可以看到右边的代码,复制元素出来例如如下。可以看到.jpg文件的网址,即为图片的地址了原创 2021-12-16 21:52:35 · 582 阅读 · 0 评论 -
学习笔记:百度和360关键字提交
1. 笔记视频来源https://www.bilibili.com/video/BV1pt41137qK?p=162. 搜索引擎关键字提交接口百度的关键词接口http://www.baidu.com/s?wd=关键字360的关键词接口http://www.so.com/s?q=关键字3. 实例代码原理就是使用 requests.get函数,将url进行网址和搜索关键字的拼接。其中python的字典可以理解为java中的键值对。学了几节课程,高频听到字典这个词。实际代码也经常出现。例原创 2021-12-15 22:27:37 · 1072 阅读 · 0 评论 -
Python学习笔记:通过Headers字段模拟浏览器访问亚马逊界面爬取
学习笔记:哔哩哔哩 Python 爬虫视频教程全集(62P)| 6 小时从入门到精通0. 学习视频地址https://www.bilibili.com/video/BV1pt41137qK?p=151. 示例代码大部分情况下,如果不修改Headers字段,则一般浏览器的robots协议会直接把python访问的行为拒绝(返回非200的status code),故我们可以根据Headers字段模拟浏览器访问亚马逊界面爬取.if __name__ == '__main__': agent原创 2021-12-14 22:44:20 · 1582 阅读 · 0 评论 -
学习笔记:网络爬虫的盗亦有道-Robots协议
学习笔记视频-哔哩哔哩https://www.bilibili.com/video/BV1pt41137qK?p=10https://www.bilibili.com/video/BV1pt41137qK?p=11&spm_id_from=pageDriverhttps://www.bilibili.com/video/BV1pt41137qK?p=12&spm_id_from=pageDriverhttps://www.bilibili.com/video/BV1pt41137q原创 2021-12-13 22:24:17 · 736 阅读 · 0 评论 -
Python-request.request API 查看
request.request(method, url, **kwargs) API 查看# method: 请求方式,对应get/put/post/put/patch/delete/head等7种# url: 拟获取页面的url链接# **kwargs: 控制访问的参数def request(method, url, **kwargs): """Constructs and sends a :class:`Request <Request>`. :param meth原创 2021-12-10 23:04:22 · 788 阅读 · 0 评论 -
学习笔记:哔哩哔哩 Python 爬虫视频教程全集(62P)| 6 小时从入门到精通-P6 爬取网页的通用代码框架
视频地址:https://www.bilibili.com/video/BV1pt41137qK?p=6&spm_id_from=pageDriver代码示例# 爬取网页的通用代码框架# 最大好处是提供错误的异常处理,更稳定性def getHTIMLText(url): try: r = requests.get(url) r.raise_for_status() # 如果状态不是200,引发HTTPError异常 r.encoding原创 2021-12-09 22:50:06 · 1322 阅读 · 0 评论 -
学习笔记:Requests 库 的 hello world 使用
本文为个人学习笔记来源《 哔哩哔哩 Python 爬虫视频教程全集(62P)| 6 小时从入门到精通》-P4章节:https://www.bilibili.com/video/av59706997/?p=4&spm_id_from=pageDriver1. 代码import requestsif __name__ == '__main__': # requests.get() 获取HTML网页的主要方法,对应于HTTP的get方法 r = requests.get("htt原创 2021-12-08 22:53:46 · 106 阅读 · 0 评论 -
【学习笔记】Python基础-数据类型与变量
注释注释符号为## hello world字符串使用单引号或者双引号都可以print("hello world")print('hello world')转义符号 \转义单引号输入I’am pythonprint("I\'am python")换行符 \n这个在JAVA和C语言都非常常用的说 代码print("I\'am python \nI am su")运行结果D:\PythonProjec原创 2017-12-08 19:52:27 · 579 阅读 · 0 评论 -
【学习笔记】字符串和编码
UTF-8说实话之前我一直不知道历史- UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节注释写中文Python的注释不能写中文让我很头大D:\PythonProject>python helloworld.py File "helloworld.py", line 1Synt原创 2017-12-08 21:35:11 · 459 阅读 · 0 评论 -
【学习笔记】List和Tuple的使用
List使用支持中文设置 UTF8+BOM 代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# List的使用class_mates = ['王林', '北京',"宏卫","华治"]print("一共有 %d 个同学,分别为 %s " % (len(class_mates), class_mates))运行结果D:\PythonProject>原创 2017-12-08 22:19:13 · 661 阅读 · 0 评论 -
【学习笔记】Python条件判断-If语句
If语句实例代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# tuple的使用# If语句print('请输入数字')# 类型转换,不然会报错age = int(input())if age == 18: print('%d == %d' %(age, 18))elif age > 18: print('%d > %d'原创 2017-12-08 23:57:57 · 624 阅读 · 0 评论 -
【学习笔记】Python基础-For与While循环
For 循环for 子项 in 列表或数组:#!/usr/bin/env python3# -*- coding: utf-8 -*-# For 循环list = [1,2,3]# 以:结尾,不要忘记了for item in list: print(item)运行结果D:\PythonProject>python run.py123While 循环sum = 1+2+3+…原创 2017-12-09 09:57:37 · 516 阅读 · 0 评论 -
【学习笔记】Python基础-字典Dict和Set和List与Str扩展
Dict使用大括号围起来,这里提供一种键值对的list表示方法 1. Dict {} 2. List [] 3. turple ()实例代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# 字典 dict 类似 Java的HashMap# Dict {}# List []# turple ()mDict = {"Lava":90, "Hu原创 2017-12-09 12:10:30 · 2889 阅读 · 1 评论 -
Python基础-函数-调用函数
官方文档学习地址http://docs.python.org/3/library/functions.html#absHelp(命令)D:\PythonProject>pythonPython 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32Type "help",原创 2017-12-09 15:14:43 · 535 阅读 · 0 评论 -
Python基础-函数-定义函数
函数定义求和函数def fun(参数):示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 定义函数def mySum(a,b): return a+bz = mySum(1, 2) print(z)运行结果D:\PythonProject>python run.py3空函数示例#!/usr/bin/env python3# -*-原创 2017-12-09 17:48:11 · 769 阅读 · 0 评论 -
Python基础-函数-函数参数
函数参数和默认参数参数就是传入的值示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 函数的参数和默认参数def regist(name, age, city = "shenzhen"): print("name:",name) print("age:",age) print("city:",city)运行结果D:\Pyth原创 2017-12-09 19:06:59 · 523 阅读 · 0 评论 -
Python基础-函数-递归函数
递归函数计算 z = 1x2x3x…x10 示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 递归调用# 计算 z = 1x2x3x...x10def sumGood(n): if n == 1: return 1 else: # 递归调用 return n * sumGood(原创 2017-12-09 19:33:58 · 778 阅读 · 0 评论 -
Python基础-高级特性-切片(Slice)
小热身写一个1到99的列表 示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 写一个1到99的列表# While循环list = []i = 0while i < 100: i = i + 1 list.append(i)print(list)运行结果D:\PythonProject>python Run.py[1, 2原创 2017-12-09 23:23:26 · 540 阅读 · 0 评论 -
Python基础-迭代Iteration
迭代遍历出list、turple、dict等里面的每一个元素。迭代List示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 迭代ListmList = ["李雷","韩梅梅"]for intem in mList: print("迭代List",intem)for i, value in enumerate(mList): pr原创 2017-12-10 11:29:20 · 765 阅读 · 0 评论 -
Python基础-列表生成式-List Comprehensions
列表生成式-List Comprehensions创建一个list数据的>>> list(range(1,11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>>[1x1,2x2,3x3,4x4…]python真的是很脑洞,这种写法都有>>> [x * x for x in range(1,11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]原创 2017-12-10 16:13:41 · 535 阅读 · 0 评论 -
Python基础-高级-迭代器Iterable与迭代器对象Iterator
迭代器Iterable设计模式中也有迭代器模式,迭代器可以让不同类型的数据通过迭代器方法遍历一般。Python支持迭代器的有。 - 一类是集合数据类型,如list、tuple、dict、set、str等;- 一类是generator,包括生成器和带yield的generator function。判断是否能迭代 isinstance()示例#!/usr/bin/env python3# -*-原创 2017-12-10 21:18:49 · 710 阅读 · 0 评论 -
Python基础-For循环本质
For循环本质Python的for循环本质上就是通过不断调用next()函数实现示例代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# For循环本质# Python的for循环本质上就是通过不断调用next()函数实现for x in [1,2,3]: print(x)print("华丽的分割线")# 等价于不断调用next()函数原创 2017-12-10 21:27:20 · 1044 阅读 · 0 评论 -
Python基础-高阶函数-Higher-order function
高阶函数-Higher-order function既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。即函数可以当作变量示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# 高阶函数-Higher-order function# 函数可以当作变量def function(a, b, fun原创 2017-12-10 22:37:09 · 2148 阅读 · 0 评论 -
Python基础-高阶函数-Map-Reduce
Map函数map()函数接受2个参数 1. 参数 函数 2. 参数 Iterable示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# map() 函数的使用# 转换为字符串def funtion(x): return str(x)def test(): mList = [1,2,3,4,5] # ('List ', [原创 2017-12-11 10:27:08 · 579 阅读 · 0 评论 -
Python基础-摘要算法hashlib中的MD5和SHA1
Python的 hashlib 提供了常见的摘要算法,如 MD5,SHA1 等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。MD5MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。运行示例#!/usr/bin/env python3# -*-原创 2017-12-19 19:03:15 · 661 阅读 · 0 评论 -
Python基础-高阶函数-filter()
filter()-过滤序列参数:函数序列filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。取奇数序列示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python filter 用法# 是否为奇数def isOdd(x): return (x % 2) != 0def fi原创 2017-12-11 14:43:00 · 627 阅读 · 0 评论 -
Python基础 hmc
hmc为了防止黑客通过彩虹表根据哈希值反推原始口令,在计算哈希的时候,不能仅针对原始输入计算,需要增加一个salt来使得相同的输入也能得到不同的哈希,这样,大大增加了黑客破解的难度。Hmac算法 = md5(message + salt)运行示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python基础 hmcimport hmacmessag原创 2017-12-19 22:21:59 · 866 阅读 · 0 评论 -
Python基础 itertools
itertoolsPython的内建模块itertools提供了非常有用的用于操作迭代对象的函数。无限迭代器itertools.count 不停打印自然数示例代码#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python基础 itertoolsimport itertools# 无限迭代器natuals = itertools.count(1)原创 2017-12-19 22:48:59 · 470 阅读 · 0 评论 -
Python基础 常用内建模块 - contextlib
回顾 with的语句普通的读文件# 读写文件的一般方式def safeFun(): try: f = open("路径", "r") r.read() finally: if f: f.closewhit语句的读文件# 简易版读写方式,不用担心忘记closedef easySafeFun(): wit原创 2017-12-20 10:17:16 · 823 阅读 · 0 评论 -
Python基础-高阶函数-sorted()
排序 sorted就是比谁是老大示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python 高阶函数的sorted 用法# 反手就是一个排序def sortedTest(): # 函数,序列 result = sorted([3,4,1,5,0]) print(result)sortedTest()运行结果D:\Py原创 2017-12-11 17:22:48 · 532 阅读 · 0 评论 -
Python基础-高级-返回函数
返回函数带返回结果的函数示例#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python 返回函数# 求和,返回值def sum(x, y): return x + yprint(sum(1,2))运行结果D:\PythonProject>python run.py3lazy 返回函数延迟返回结果的函数示例#!/usr/bin/env p原创 2017-12-11 18:05:40 · 513 阅读 · 0 评论