python课程回顾复习记录简要1

本文介绍了Python语言的起源、1991年编译器的诞生,强调了其简单易学、开源及广泛应用。涵盖了标识符命名、注释规则、编码格式、变量类型、进制转换、输入输出、数据转换、运算符等基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一节:
python是吉多1989年编写的,基于abc语言,想编写一种在c和shell之间功能全面简单易学可拓展的语言。
1991年第一个编译器python编译器诞生。它是用c语言实现的。能使用调用c语言的库文件,
优点:简单易学免费开源 高层语言 可移植性 解释性,面向对象可拓展性 丰富的库,代码规范
缺点:运行速度慢 可选框架太多
应用场景:web开发 自动化脚本 科学计算 开发桌面软件 开发服务器软件 游戏开发
第二节:
1.标识符:由字母数字下划线组成,不能以数字开头,区分大小写 ,对长度没有限制,一般不要超过15个字符,标识符不能是以python中的关键字
命名规范:一般采用大驼峰法如:HellWorld,还有匈牙利命名法如m_name send_buf。
2.注释:通常占用代码量的百分之30
单行注释:#单行注释内容
##单行注释内容
多行注释
“”"
多行注释内容
“”"
3.编码格式 国际通用 unicode 扩展:gbk gb2312 只能在中国使用
#coding:utf-8 加上这个支持中文
4.变量和变量的类型
可以用type()
类型:int整数 4字节(32位) long类型-8字节(64位) 取值范围-2的312的31-1(-21474836482147483647)
布尔型bool 字符串str 需用“” 列表list用[] 字典dict用{“name”:“xiaoming”,“age”:18} 元祖tuple用()
5.进制转换
二进制 0 1组成,以0b开头
八进制01234567,以0开头
十六进制0123456789abcdef,以0x开头
在这里插入图片描述
第三节
1.输入输出
%s 通过str()字符串转换后的格式化,表示字符串
%d 有符号十进制整数
%f 浮点数
转义字符
在输出时 若要换行,则可以使用\n完成
\t 制表符 1个tab键=4个空格
\r 回车符
\ 写文件路径
"双引号
\‘单引号
ASCII码
在这里插入图片描述
2.输入
python2中是raw_input()
python3中是input()
3.数据转换
int(x) 将x转换为整数
float(x) 将x转换为浮点数
str(x) 将x转换为字符串
eval(str) 用来计算在字符串内的有效python表达式并返回一个对象
tuple(s) 将序列s转换为一个元祖
list(s) 将序列s转换为列表
chr(s) 将一个整数s转换为一个字符
ord© 将一个自字符c转换为他的整数值
hex(s) 将一个整数s转换为一个十六进制字符串
4 运算符
算术运算符 + - * / //取整数 %求余数 **次方
赋值运算符 = += -=
关系运算符 < > <= ==
逻辑运算符 not非 and与 or或
位运算符 |按位或 &按位与 ^按位异或 >>带符号右移
a<<b结果为:a乘以2的次幂
7<<3 等于56
优先级
最高优先级.() ,
不清楚优先级的顺序时,适当添加括号.

<think>嗯,用户想复习Python爬虫的静态页面抓取方法,需要提供一个教程。首先,我得回忆一下静态页面抓取的基本步骤和相关库。记得常用的库有urllib和requests,这两个都是Python自带的或者第三方常用的。用户可能已经有一些基础,但需要系统性的复习,所以结构要清晰。 首先,应该分步骤讲解,从发送HTTP请求开始。然后处理请求头,设置超时和重试,处理响应内容,比如状态码和编码,最后解析内容,比如用BeautifulSoup。还要注意代码示例的正确性,确保用户能复制运行。 用户提供的引用里提到了urllib.request和requests库的使用,还有状态码、编码这些关键点。需要把这些内容整合到教程中,同时保持逻辑连贯。可能还需要比较不同库的优缺点,比如urllib是标准库,而requests更简洁。 另外,用户可能对实际操作中的常见问题感兴趣,比如处理异常、设置请求头防止被屏蔽,或者解析HTML时的选择器使用。需要覆盖这些点,但不要过于深入,保持教程的复习性质。 还要注意引用标记,每个引用来源在适当的地方标注。比如,讲解请求过程时引用[^1],urllib的例子引用[^2],requests的例子引用[^3]。确保引用自然,不打断内容流畅性。 可能还需要提醒用户注意法律和道德规范,比如遵守robots.txt,不过用户的问题主要是技术方法,这部分可以放在注意事项里简要提及。 最后生成相关问题,帮助用户进一步学习。问题要围绕静态页面抓取的扩展知识,比如动态页面对比、反爬策略、数据处理等。这样用户可以根据问题继续深入学习。 检查一下是否有遗漏的关键点,比如处理GET和POST请求,或者保存抓取的数据。不过静态页面抓取主要是GET,所以可能不需要涉及POST。保存数据可以作为扩展,但用户需求是复习基本方法,所以可能不需要深入。 确保代码示例正确,比如urllib的import和requests的使用,特别是decode和.text的区别。还有状态码检查,200表示成功,这些要提到。 总结下来,结构应该是: 1. 概述静态页面抓取 2. 使用urllib库的步骤和示例 3. 使用requests库的步骤和示例 4. 解析HTML(BeautifulSoup) 5. 注意事项 6. 相关问题 每个部分配合引用和代码示例,确保用户能一步步回顾知识点。需要语言简洁,步骤明确,避免复杂术语,但保持专业性。</think>### Python静态页面抓取方法教程 #### 一、静态页面抓取原理 静态网页内容直接存储在服务器中,通过HTTP请求可直接获取HTML源码。爬虫的核心步骤包括**发送请求**、**获取响应**、**解析内容**三部分。 --- #### 二、使用urllib库实现 Python内置的`urllib`是基础HTTP请求库,适合简单场景: ```python import urllib.request # 发送请求 response = urllib.request.urlopen('http://www.example.com') # [^2] # 读取内容(需指定编码) html = response.read().decode('UTF-8') print(html) ``` **关键参数:** - `timeout=10`:设置超时时间 - `headers={}`:添加请求头模拟浏览器 --- #### 三、使用requests库实现(推荐) 第三方库`requests`提供更简洁的API: ```python import requests # 带请求头的GET请求 headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get('https://blog.example.com', headers=headers) # [^3] # 检查状态码 if response.status_code == 200: print("编码方式:", response.encoding) print("网页内容:", response.text) ``` --- #### 四、HTML解析方法 使用`BeautifulSoup`解析获取的内容: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('h1').text # 提取标题 links = [a['href'] for a in soup.find_all('a')] # 提取所有链接 ``` --- #### 五、注意事项 1. **请求频率控制**:添加`time.sleep(2)`避免被封禁 2. **异常处理**:使用`try-except`捕获`ConnectionError` 3. **编码检测**:优先使用`response.apparent_encoding`自动检测编码 4. **遵守robots协议**:检查`/robots.txt`文件 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值