Python Request库入门

学习目标:掌握定向网络数据爬取和网页解析的基本能力

Requests库安装:cmd

pip install requests

IDLE中

Import requests

r = requesrs.get("http://www.baidu.com")

r.status_code #200表示访问成功

r.encoding='utf-8'

r.text

Requests库的7个主要方法

r = requests.get(url)

构造一个向服务器请求资源的Requests对象

返回一个包含服务器资源的Reponse对象

完整方法:requests.get(url,params=None,**kwargs)

url:拟获取页面的url链接

params:url中的额外参数,字典或字节流格式,可选

**kwargs:12个控制访问的参数

method:请求方式

GET HEAD POST PUT PATCH delete OPTIONS

**kwargs:控制访问的参数,均为可选项

1.params:字典或字节序列,作为参数添加到url中

2.data:字典、字节序列或文件对象,作为Request的内容

3.json:JSON格式的数据,作为Requests的内容

4.header:字典,HTTP定制头

5.cookies:字典或CookieJar,Request中的cookie

6.auth:元组,支持HTTP认证功能

7.file:字典类型,传输文件

8.timeout:设定超时时间,秒为单位

9.proxies:字典类型,设定访问代理服务器,可以添加登录认证

10.allow_redirects:True/False,默认为True,重定向开关

11.stream:True/False,默认为True,获取内容立即下载开关

12.verify:True/False,默认为True,认证SSL证书开关

13.cert:本地SSL证书路径

r.encoding:如果header中不存在charest,则认为编码为ISO-8859-1

r.apparent_encoding:根据网页内容分析出的编码方式

网络链接不稳定经常发生异常

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

爬取网页的通用代码框架

import requests
def getHTMLTest(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status() #如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding
        return r.text
    except:

    return "产生异常"

HTTP URL的理解:

URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源

猜你喜欢

转载自blog.csdn.net/Canon_M/article/details/82666811