python网络爬虫—爬取网页的通用代码框架及HTTP协议【2】

​-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

关注微信公众号获得最新内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,095评论 19 139
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 5,016评论 0 7
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,720评论 6 152
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 9,269评论 2 61
  • http协议有http0.9,http1.0,http1.1和http2三个版本,但是现在浏览器使用的是htt...
    一现_阅读 5,913评论 0 3

友情链接更多精彩内容