网页获取
网页获取一般使用requests库。
requests库
1、定义:requests库是个简洁而且简单的处理HTTP请求的第三方库。
2、requests库中的网页请求函数:
| 函数 | 描述 |
|
get(url,[,timeout = n]) |
对应HTTP的GET方式,获取网页的最常用的方法,可增加timeout=n参数,设定每次请求超时时间为n秒 |
| post(url,data = {'key':'value'}) | 对应HTTP的POST方式,其中字典用于传递客户数据 |
| delete(url) | 对应HTTP的DELETE方式 |
| head(url) | 对应HTTP的HEAD方式 |
| options(url) | 对应HTTP的OPTIONS方式 |
| put(url,data = {'key':'value'}) | 对应HTTP的PUT方式,其中字典用于传递客户数据 |
注:get()是获取网页的最常用的方法,在调用requests.get()函数后,返回的网页内容会保存为一个Response对象,其中,get()函数的参数url必须链接采用HTTP或HTTPS方式访问。
3、Response对象的属性:
| 属性 | 描述 |
| status_code | HTTP请求的返回状态,整数,200表连接成功,404表失败 |
| text | HTTP响应内容的字符串形式,即,也是url对应的页面内容 |
| encoding | HTTP响应内容的编码形式 |
| content | HTTP响应内容的二进制形式 |
例1:

4、Response对象的方法:
| 方法 | 描述 |
| json() | 如果HTTP响应内容包含json格式数据,该方法解析JSON数据 |
| raise_for_status() | 如果不是200,该方法就会产生异常 |
5、网页获取
import requests
def gethtml(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = 'utf-8'
return r.text
except:
return ""
url = "http://www.baidu.com"
print(gethtml(url))
结果如下:


浙公网安备 33010602011771号