urllib基本使用

urllib库的基本使用

request它是最基本的HTTP请求模块,可以用来模拟发送请求,就像在浏览器中输入网址,然后敲击回车键一样,使用的时候只需要给库方法传入相关的URL的相关的参数即可.
error:异常处理模块,如果出现请求错误,我们课使用这个模块来捕获异常,然后进行重试或者其他操作,保证程序不会以为终止。
parse:这是一个工具模块,提供了许多url的处理方法,比如拆分,解析,合并等等
urlopen方法的使用
url:设置目标url
data:如果设置该参数,则请求默认为post请求
timeout:用于设置超时时间,单位为秒。
context:必须是一个ssl.SSLcontext类型,用来指定SSL设置,忽略未认证的CA证书
Request
使用urlopen直接发送请求,获取一些反爬手段低的网站,有些网站会根据请求头来判断是否是浏览器访问,则需要增加HTTP报头,必须创建一个Request实例来作为urlopen()的参数;而需要访问的url地址则作为Request实例的参数。
url参数是请求链接,这个是必传参数,其他的都是可选参数。
data(默认空) 参数跟urlopen()中的data参数用法相同。
headers(默认空)是一个字典,它除了在Request中添加,还可以通过调用Request实例的add_header()方法来添加请求头
unberifiable参数表示这个请求是否是无法验证的,默认值是False,意思就是说用户没有足够权限来选择接受这个请求的结果。例如我们请求一个HTML文档中的图片,但是我们没有自动抓取图像的权限,我们就要将unverifiable的值设置为True.(这个参数我们不需要设置)
method参数指的是发起HTTP请求的方式

urllib的异常错误处理
**URLError:**来自urllib库的error模块,继承自OSError,由request模块产生的异常都可以通过捕捉这个类来处理。
主要原因有:
没有网络连接
服务器连接失败
找不到指定的服务器
它具有一个属性reason,返回错误的原因
HTTPError
HTTPError是URLLError的子类,我们发出一个请求时,服务器都会对应一个response应答对象,其中它包含一个数字“响应状态码”
专门用来处理HTTP请求错误,比如未认证,页面不存在等
有三个属性:
code:返回HTTP的状态码
reasn:返回错误的原因
headers:返回请求头
parse模块下常用的url解析、合并、编码、解码方法
使用时需导入
from urllib import parse
urlencode()将字典构形式的参数序列化为url编码后的字符串
(常用来构造get请求和post请求的参数)
parse_qs()将url编码格式的参数反序列化为字典类型
quote()可以将中文转化为url编码格式
unquote:可以将url编码进行解码
urljoin()传递一个基础链接,根据基础链接可以将某一个不完整的链接拼接为一个完整链接
urlparse()实现URL的识别和分段(了解)

处理HTTPS请求 SSL证书验证

出现ssl.CertificateError:…
这种错误时,我们就需要单独处理SSL设置,忽略未认证的CA证书,让程序忽略SSL证书验证错误,即可正常访问。

. 表示忽略未经核实的SSL证书认证 context = ssl._create_unverified_context()
1
JSON模块的使用

  1. json.loads()
    把Json格式字符串解码转换成Python对象 从json到python的类型转化
  2. json.dumps()
    实现python类型转化为json字符串,返回一个str对象 把一个Python对象编码转换成Json字符串
    从p
  3. json.dump()
    将Python内置类型序列化为json对象后写入文件
  4. json.load()
    读取文件中json形式的字符串元素 转化成python类型

re模块
1 complie方法:将正则表达式的字符串形式编译为一个Pattern对象
2, match方法:从起始位置开始匹配符合规则的字符串,单次匹配,匹配成功,立即返回match对象,未匹配成功则返回None
3. search 方法:从整个字符串中匹配符合规则的字符串,单次匹配,匹配成功,立即返回Match对象,未匹配成功则返回None
4,findall 方法:匹配所有合规则的字符串,匹配到的字符串放到一个列表中,未匹配成功返回空列表
5,finditer 方法:匹配所有合规则的字符串,匹配到的字符串放到一个列表中,匹配成功返回
6,split 方法:根据正则匹配规则分割字符串,返回分割后的一个列表
7,sub 方法:替换匹配成功的指定位置字符串
re.I使用匹配对大小写不敏感(不区分大小写)
re.S使.匹配包括换行符在内的所有字符
re.M多行匹配
re.L做本地化识别

. 匹配除了换行符之外的任意字符
\d 匹配数字0-9 -> [0-9] => ^\0
\D 匹配非数字
\s 匹配空白字符(空格 \n \r \t)
\S 匹配非空白字符
\w 匹配单词字符[a-zA-Z0-9_]
\W 匹配非单词字符
^ 以 。。。开头
$ 以。。。结尾
[0-9a-z] 表示匹配数字0-9字母a-z
[^a-z] : 不匹配a-z之间的字符

#多字符匹配 贪婪模式

匹配*号前的字符任意次数
匹配+号前的字符至少一次
? 匹配?号前的字符0-1次
多字符匹配,非贪婪模式
*?
+?
??

| 或
() 分组
\ 转义字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值