爬虫过程,其实我感觉就是快速多次地用程序模拟我们浏览网页的过程,而requests库就是一种较为简单的Python HTTP库。
因为爬虫过程要与http协议打交道,所以requests库的学习必不可少。
我们下面从函数入手,快速了解requests库。
爬虫必备——requests库 | |
---|---|
1 | 函数 |
2 | requests.get() |
3 | 常用操作 |
4 | 小节 |
requests库函数 | |
---|---|
get | 获取url位置的资源。 |
head | 获取url位置的资源的头部信息。 |
post | 请求向url位置的资源后附加新的数据。 |
put | 请求向url位置存储一个资源,覆盖原来的资源。 |
patch | 请求url位置的局部资源进行更新。 |
delete | 请求删除url位置对应的全部资源。 |
所有函数中get函数应该是最基本的,通过get操作就能够得到服务器返回的所有相关资源。
import requests
url='https://www.baidu.com/'
r=requests.get(url)
print(r)
注:
1. get()函数返回的是一个Response对象,这个Response对象包含服务器返回的所有资源。
2. 在通过get()方法得到url后,requests库内部会自动生成一个Request对象 ,用于向服务器请求资源。
而完整的get函数除了url之外还包含着更多的参数:
requests.get(url,params=None,**kwargs)
url:页面的url链接。
params:url中的额外参数,字典或字节流格式。
**kwargs:13个访问控制的参数。
我们来说一下在爬虫过程中可能会用到的13个参数中的几个参数:
headers:头部访问信息,表明你的身份
timeout:设定超时时间,秒为单位
proxies:设定访问代理服务器,可用于隐藏原ip地址
在这里,有必要先介绍一下Response对象的一些属性与函数,以便于对于我们所得到的内容的分析。
Response对象属性 | |
---|---|
r.status_code | HTTP返回状态。200表示成功,404表示失败。 |
r.text | HTTP的相应内容的字符串形式。就是url对应的页面内容。 |
r.encoding | 从HTTPheader中猜测的相应内容编码方式 |
r.apparent_encoding | 从内容分析出的相应内容编码方式 |
r.content | HTTP相应内容的二进制形式 |
Response对象函数 | |
---|---|
r.raise_for_status | HTTP返回状态成功则返回None,返回状态失败则会出现Error。 |
1.输出爬虫内容,要使用text属性
import requests
url='https://www.baidu.com/'
r=requests.get(url,headers=headers,timeout=5,proxies=proxies)
print(r.text)
输出结果
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc>
你可能感兴趣的:(python小航入门,python)