-Modest_Proud-
一、爬取网页的通用代码框架
首先,我们使用Requests库进行网页访问的时候,经常用get(),获得url的相关内容。
由于网络连接是有风险的,所以异常处理语句很重要。
理解爬取网页的通用代码框架
import requests ##加载Requests库
def getHTMLText(url):
##定义getHTMLTexl函数
try:
r=requests.get(url,timeout=30)
##设定get函数参数,超时限制30s
r.raise_for_status()
##如果状态不是200,引发HTMLError异常
r.encoding="utf-8"
##更改编码为utf-8格式
return r.text
##返回网页文本内容
except:
return "产生异常"
##返回异常提示
if __name__=="__main__":
##运行模块
url="http://www.baidu.com"
##给url赋值
print(getHTMLText(url))
##打印函数内容
输出结果如下图
如果我们将url=“http://www.baidu.com"改成url="http:www.baidu.com" 会出现什么情况?
二、理解HTTP协议
HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
URL格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址
port:端口好,缺省端口为80
path:请求资源的路径
HTTP URL 实例:
http://www.baidu.com
http://120.76.26.60:8188/xcb/login.jsp
HTTP URL 理解:
URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。
HTTP协议对资源的操作
备注:PUT和PATCH同样是更新URL位置的资源,区别在于:
PUT提交更新全部位置的资源请求,PATCH提交局部更新请求
例:有A、B、C,我们现在需要把A改成G
PUT:请求将A、B、C用G、B、C替换
PATCH:请求G替换位置为A
若用PUT提交PATCH,则会出现A、B、C—>G
HTTP协议与Requests库方法功能对比
Requests库的HEAD()方法
Requests库的POST()方法
向URL POST一个字典,自动编码为from(表单)
向URL POST一个字符串,自动编码为data
关注微信公众号获得最新内容
网友评论