• 爬虫入门 requests库


    写在最前的具体资料:

      https://2.python-requests.org//zh_CN/latest/user/quickstart.html

      https://www.liaoxuefeng.com/wiki/1016959663602400/1183249464292448

      http://cn.python-requests.org/zh_CN/latest/

    以下为个人理解:

    首先先列举一下requests库的方法,具体有.get() .head() .post() .put() .patch() .delete()。这些方法都是和HTTP协议的方法一一对应的。

    get()方法可以获取全部资源,而head()方法仅仅是获取头部信息,post,put,patch方法可以将自己的资源放入url对应的位置上,delete()方法可以删掉这个url对应的现有资源

    put和patch方法的区别是,put方法要把所有对应的资源全部提交一遍,而patch只需要提交需要修改的那个资源,而不需要像put一样提交所有对应的资源。post方法可以向服务器提交新增数据

    request

    requests库还有一种方法是request方法,即requests.request(method,url,**kwargs)。其中还有三个参数,method表示请求方法,对应HTTP协议的七种方法,url则对应的是url链接,即网址。**kwargs就是13种控制访问的参数,即

      params(字典或者字节序列,可以作为参数添加到url中),

      data(作为向服务提交数据时使用),

      json(json格式的数据 ),

      headers(可以用改字段来定义自己发起访问时http的头字段,可以用来模拟任何我们想模拟的浏览器向url发起请求),

       cookies(用来解析http中的cookies),

      auth(元组,支持http认证功能),

      files(字典类型,传输文件时使用的字段),

      proxies(字典类型,设定访问代理服务器,可以增加登录认证,可以有效的隐藏自己ip地址信息),

      allow_redirects

      stream(获取内容立即下载)

      verify

      cert(本地ssl证书路径)

      timeout(超时)

    request.get(url,parpams,**kwargs)与request相同   使用的最多也是最关键

    request.head(url,**kwargs)同上

    request.post(url,data,json,**kwargs)和request中相同

    request.put(url,data,**kwargs)同上

    request.petch(url,data,**kwargs)同

    request.delete(url,**kwargs) 同上

    代码框架

      import requests

      url = 'http://www.baidu.com'
      try:
          #模拟浏览器
          kv = {'user-agent':'Mozilla/5.0'}
          r = requests.get(url , headers = kv)
          #状态码检查
          r.raise_for_status()
          r.encoding = r.apparent_encoding
          print(r.text)
      except:
          ("爬取失败")

      

  • 相关阅读:
    线程的异常捕获与线程池的异常捕获
    设计模式-状态模式
    老王讲自制RPC框架.(四.序列化与反序列化)
    老王讲自制RPC框架.(三.ZOOKEEPER)
    老王讲自制RPC框架.(二.动态代理)
    4
    3
    2
    1
    前言
  • 原文地址:https://www.cnblogs.com/afei123/p/11182753.html
Copyright © 2020-2023  润新知