大概框架

Request库的安装


  • 爬取网页最好用的第三方库
  • 直接安装即可(用于OS X)
    pip3 install requests
  • request库的常用方法:

  • request库一共有七个常用方法。一个基本方法是request方法,其他的方法都是调用request方法实现的。

get方法

  • 获取网页最简单的方法就是get方法
    r = requests.get(url)
  • 通过get方法+url获得一个向服务器请求资源的Request对象。注意python是严格区分大小写的,这个Request和我们说的request是不同的。
  • request.get()返回一个Response对象,就是我们的变量r。

Response对象

看一段代码:

Response对象包含了服务器返回的所有信息。

  • Response对象的属性:

  • 一般的解析流程:

一个例子

  • 状态编码为200,说明返回信息成功。
  • 但是我们查看r的text属性时,却发现了乱码,于是我们去检查r的编码方式:

  • 用r.apparent_encoding的utf-8编码替换r.encoding的ISO编码方式可以正常显示中文信息。这是为什么呢?

  • r.encoding是从header中提取charset字段的编码方式,但是并非所有网站都有charset字段,如果没有charset字段时默认返回ISO-8859-1类型,而这个类型是不能解析中文的。
  • r.apparent_encoding是根据http的内容部分实实在在分析内容的可能编码类型,更加准确!

MacOS下安装Requests库及使用的更多相关文章

  1. MacOS下安装BeautifulSoup库及使用

    BeautifulSoup简介 BeautifulSoup库是一个强大的python第三方库,它可以解析html进行解析,并提取信息. 安装BeautifulSoup 打开终端,输入命令: pip3 ...

  2. python下载安装requests库

    一.python下载安装requests库 1.到git下载源码zip源码https://github.com/requests/requests 2.解压到python目录下: 3.“win+R”进 ...

  3. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  4. linux下安装uuid库

    1.linux 下安装UUID库 1.1)ubuntu下安装uuid链接库 sudo apt-get install uuid-dev 1.2)CentOS yum install libuuid-d ...

  5. 关于python下安装PIL库遇到的问题及解决办法

    关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...

  6. win7 64位系统下安装autoitlibrary库遇到问题解决

    转载来自http://blog.sina.com.cn/s/blog_53f023270101skyq.html 今天需要在win7 64位系统下安装autoitlibrary库,起初安装好了robo ...

  7. Python3.x(windows系统)安装requests库

    Python3.x(windows系统)安装requests库 cmd命令: pip install requests 执行结果:

  8. python pip安装requests库总提示:Fatal error in launcher...''

      1.python pip安装提示:Fatal error in launcher...'' 我查看了网上都说是电脑同时安装了python2  和python3时候才会有这个错误,但实际上我电脑只安 ...

  9. macOS下安装openCV+Xcode配置

    macOS下安装openCV+Xcode配置打开终端 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...

随机推荐

  1. JavaScript日期格式转换

    //日期格式转换 function dateFormat(val) {//val需要转换的日期 var fmt = "yyyy-MM-dd";//日期格式 val = val.re ...

  2. pycharm使用杂记

    R语言解释器在/opt/local/Library/Frameworks/R.framework/Versions/3.5/Resources/bin/R

  3. 直流电机驱动,TIMER口配置

    电机的电压输出能力和频率有关??? 修改前:------------------------------------------------------------------------------ ...

  4. C语言/C++对编程学习的重要性!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. 一道hive面试题:explode map字段

    需要找到每个学生最好的课程和成绩,最差的课程和成绩,以及各科的平均分 文本数据如下: name scores张三 语文:,数学:,英语:,历史:,政治:,物理:,化学:,地理:,生物: 李四 语文:, ...

  6. GC错误

    如果出现GC错误,可设置客户端 set mapreduce.map.java.opts 设置一下 R的GC错误,在顶端设置这个参数 options(java.parameters = "-X ...

  7. Springboot启动报Multiple Dockets with the same group name are not supported. The following duplicate groups were discovered.

    解决方法: 属于bean重复,根据错误提示剔除多于的Bean引用!

  8. C#基础 base与this关键字

    base和this在C#中被归于访问关键字,顾名思义,就是用于实现继承机制的访问操作来满足对对象成员的访问,从而为多态机制提供更加灵活的处理方式. this是指当前对象本身,而base则是在继承类中访 ...

  9. electron安装与使用

    系统 WIN10 X64 1. python-2.7.15.amd64.msi 2. node-v10.4.1-x64.msi 3. VS2015 community(社区版) 4. npm conf ...

  10. 20155226 实验一《Java开发环境的熟悉》实验报告

    20155226 实验一<Java开发环境的熟悉>实验报告 一. 实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 输入cd Code进入Code文件夹里 ...