1.requests库的安装
1.使用pip install requests;
2.使用pycharm安装requests库(可见本人的视频资源);
<iframe allowfullscreen="true" data-mediaembed="bilibili" id="rwE5aOiP-1610373228401" src="https://player.bilibili.com/player.html?aid=543508029"></iframe>pycahrm安装requests库
2.requests库的get方法使用
r = requests.get(url)
在这里构成了一个向服务器请求资源的Requests对象;
这里的r返回包含服务器资源的Response对象;
requests.get(url,params=None,**kwargs)
url : 拟获取页面的url链接
params : url中的额外参数,字典或字节流格式,可选
**kwargs : 12个控制访问的参数
我们来看下requests库的get方法源代码:
def get(url, params=None, **kwargs):
r"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
"""
kwargs.setdefault('allow_redirects', True)
return request('get', url, params=params, **kwargs)
我们可以看到get()使用requests()来封装,requests库一共7个常用方法除了requests()外其余的6个方法均用requests()来封装。
Requests库的两个重要对象分别是Requests对象和Response对象,其中Response对象包含了爬虫返回的信息。
我们使用r.status_code返回状态码,如果返回的状态码时200则表示访问成功,否则访问失败;
type()表示返回额是一个Response类;
r.headers表示返回请求页面的头部信息;
属性 | 说明 |
---|---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示链接失败 |
r.text | HTTP响应内容的字符串形式,即,url对应的页面内容 |
r.encoding | HTTP header猜测的响应内容编码方式 |
r.apparent | 从内容分析出响应内容的编码格式 |
r.content | HTTP响应内容的二进制格式 |
3.爬取网页通用代码框架
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))