博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MOOC《Python网络爬虫与信息提取》学习过程笔记【requests库】第一周1-3
阅读量:5129 次
发布时间:2019-06-13

本文共 1597 字,大约阅读时间需要 5 分钟。

一得到百度网页的html源代码:

>>> import requests>>> r=requests.get("http://www.baidu.com")>>> r.status_code #查看状态码,为200表示访问成功,其他表示访问失败200>>> r.encoding='utf-8' #更改编码为utf-8编码>>> r.text  #打印网页内容
>>> r.headers

  

二requests库的主要方法:

requests.request()   构造一个请求,支撑以下各方法的基础方法

requests.get()   获取HTML网页的主要方法,对应于HTTP的GET

requests.head()  获取HTML网页头信息的方法,对应于HTTP的HEAD

requests.post()  向HTML网页提交POST请求的方法,对应于HTTP的POST

requests.put()  向HTML想也提交PUT请求的方法,对应于HTTP的PUT

requests.patch()  向HTML网页提交局部修改请求,对应于HTTP的PATCH

requests.delete()  向HTML页面提交删除请求,对应于HTTP的DELETE

 

1requests.get()

r=requests.get(“网页地址”)  #get("网页地址")构造一个向服务器请求资源的Request对象

#r是一个包含服务器资源的Response对象

 

三Response对象的常用属性(这里是r):

r.status_code    HTTP请求返回的状态,200表示链接成功,404表示失败...只要不是200都是失败的

r.text     HTTP响应内容的字符串形式,即url内容的页面内容

r.encoding   从HTTP header中猜测的响应内容编码方式

r.apparent_encoding   从内容中分析出的响应内容编码方式(备选编码方式)

r.content HTTP响应内容的二进制形式

>>> import requests>>> r=requests.get("http://www.baidu.com")>>> r.status_code200>>> r.text#乱码>>> r.encoding  #从html代码的header查找charste关键字得到的编码方式,如果不存在charset则认为编码为ISO-8859-1'ISO-8859-1'>>> r.apparent_encoding  #分析后得到的网页的正确编码方式'utf-8'>>> r.encoding='utf-8'>>> r.text   #打印出了我们想要的格式

 

四爬取网页的通用代码框架

1.什么是爬取网页的通用代码框架?

就是一组代码,可以准确可靠的爬去网页

Requests库的异常:

r.raise_for_status()  如果不是200,产生异常requests.HTTPError

 

>>> import requests   >>> def getHTMLText(url):	try:		r=requests.get(url,timeout=30)		r.raise_for_status() #如果状态不是200,引发HTTPError异常		r.encoding=r.apparent_encoding		return r.text	except:		return "产生异常">>> if __name__=="__main__":	url="http://www.baidu.com"	print(getHTMLText(url))

红色部分就是爬去网页的通用代码框架

  

转载于:https://www.cnblogs.com/iamjuruo/p/7470700.html

你可能感兴趣的文章
UVA 11137 - Ingenuous Cubrency
查看>>
js阻止事件冒泡的两种方法
查看>>
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>