您的位置:首页 > 编程语言 > Python开发

02 Python爬虫,爬虫请求模块

2020-06-11 04:38 302 查看

目录

  • 二、urllib.parse模块
  • 三、请求方式
  • 四、requests模块
  • 五、requests 模块源码分析
  • 一、urllib.request模块

    1.1 版本

    • python2 :urllib2、urllib
    • python3 :把urllib和urllib2合并,urllib.request

    1.2 常用的方法

    • urllib.request.urlopen(“网址”) 作用 :向网站发起一个请求并获取响应
    • 字节流 = response.read()
    • 字符串 = response.read().decode(“utf-8”)
    • urllib.request.Request"网址",headers=“字典”) urlopen()不支持重构User-Agent

    1.3 响应对象

    • read() 读取服务器响应的内容
    • getcode() 返回HTTP的响应码
    • geturl() 返回实际数据的URL(防止重定向问题)

    二、urllib.parse模块

    2.1 常用方法

    • urlencode(字典)
    • quote(字符串) (这个里面的参数是个字符串)

    三、请求方式

    • GET 特点 :查询参数在URL地址中显示
    • POST 在Request方法中添加data参数 urllib.request.Request(url,data=data,headers=headers)
    • data :表单数据以bytes类型提交,不能是str

    四、requests模块

    4.1 安装

    • pip install requests
    • 在开发工具中安装

    4.2 request常用方法

    • requests.get(网址)

    4.3 响应对象response的方法

    • response.text 返回unicode格式的数据(str)
    • response.content 返回字节流数据(二进制)
    • response.content.decode(‘utf-8’) 手动进行解码
    • response.url 返回urlresponse.encode() = ‘编码’

    4.4 requests模块发送 POST请求

    4.5 requests设置代理

    • 使用requests添加代理只需要在请求方法中(get/post)传递proxies参数就可以了
    • 代理网站
    • 西刺免费代理IP:http://www.xicidaili.com/
    • 快代理:http://www.kuaidaili.com/
    • 代理云:http://www.dailiyun.com/(较麻烦,没得前两个好用)

    4.6 cookie

    • cookie :通过在客户端记录的信息确定用户身份
    • HTTP是一种无连接协议,客户端和服务器交互仅仅限于 请求/响应过程,结束后断开,下一次请求时,服务器会认为是一个新的客户端,为了维护他们之间的连接,让服务器知道这是前一个用户发起的请求,必须在一个地方保存客户端信息

    4.7 session

    • session :通过在服务端记录的信息确定用户身份 这里这个session就是一个指的是会话

    4.8 处理不信任的SSL证书

    什么是SSL证书?
    SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能

    五、requests 模块源码分析

    这个有兴趣的可以自己去了解,大佬属实牛逼,顶礼膜拜。

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: