1、安装python3
2.安装requests库, pip install requests
3.requests 库的使用
3.1 requests的七种使用方法
requests.request() 构造一个人请求,支撑一下的各种方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTML的HEAD
resquests.post() 获取HTML网页的提交POST请求的方法,对应于HTTP的POST
resquests.put() 获取HTML网页的提交PUT请求的方法,对应于HTTP的PUT
resquests.delete() 提交HTML网页的删除请求的方法,对应于HTTP的DELETE
resquests.patch() 提交HTML网页局部修改的方法,对应于HTTP的PATCH
import requests r = requests.get("http://www.sogo.com") r.status_code >>>200
3.2 Response的对象属性
r.ststus_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.text HTTP响应内容的字符串形式,即url对应的页面内容
r.encoding 从HTTP header中猜测的响应内容编码方式
r.apparent_encoding 从内容分析出响应内容的编码方式(备用编码方式)
r.content HTML响应的二进制编码方式
3.3Requests库异常情况
requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝链接等
requests.HTTPError HTTP错误异常
requests.URLRequests URL确实异常
requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求URL超时,产生超时异常
r.raise_for_status()
4 requests.request的使用
requests.request(method, url, **kwargs)
method:request的访问方式
url:服务器的地址
**kwargs:控制访问的参数,均为可选项
params: 字典或字节序列,作为参数增加到url中
data:字典或者字节序列、文件对象,作为request的内容
json:作为request的内容
headers:字典,HTTP定制头
cookies:字典或Cookie.Jar, Request的cookies
auth:元祖,支持HTTP的认证功能
files:字典类型,传输文件
timeout:设定超时时间,秒为单位
proxies:字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects: True/False,默认为True,重定向开关
stream: True/False,默认为True,获取立即下载
verify: True/False,默认为True,认证SSL证书开关
cert: 本地SSL证书路径
5.BeautifulSoup 的使用
安装命令 pip install beautifulsoup4
5.1BeautifulSoup 类的基本元素
Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name 标签的名字,<p>...</p>的名字是'p',格式:<tag>name
Attributes 标签的属性,字典形式组织,格式,<tag>attrs
NavigableString 标签内非属性字符串,<>.....</>的字符串,格式:<tag>string
Comment 标签内字符串的注释部分,一种特殊的Comment类型
5.2标签的遍历
下行遍历
.contents 子节点的列表,将<tag>所有儿子节点存入列表
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants 子节点的迭代类型,包含所有子孙节点,用于遍历循环
上行遍历
.parent 节点的父亲标签
.parents 节点先辈标签的迭代类型,用于遍历循环先辈标签
平行遍历
.next_sibling 返回按照HTML顺序的下一个平行节点
.previous_sibling 返回按照HTML文本顺序的上一个平行节点
.next_siblings 迭代类型,按照HTML文本顺序的后续所有平行节点的标签
.previous_siblings 迭代类型,按照HTML文本顺序的前续所有平行节点的标签
5.3 tree样式
prettify