博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MacOS下安装Requests库及使用
阅读量:5128 次
发布时间:2019-06-13

本文共 709 字,大约阅读时间需要 2 分钟。

大概框架

1092957-20181018234822750-271086881.png

Request库的安装


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

1092957-20181019001900005-1488038595.png

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

get方法

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

Response对象

看一段代码:

1092957-20181019012806589-2007805312.png

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

  • Response对象的属性:

1092957-20181019013001037-323617090.png

  • 一般的解析流程:

1092957-20181019013347903-1722764213.png

一个例子

1092957-20181019014529554-191687196.png

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

1092957-20181019014949483-295203003.png

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

1092957-20181019015231489-462240980.png

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

转载于:https://www.cnblogs.com/031602523liu/p/9814164.html

你可能感兴趣的文章
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>
Deque - leetcode 【双端队列】
查看>>
人物角色群体攻击判定(一)
查看>>
一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则...
查看>>
gulp插件gulp-ruby-sass和livereload插件
查看>>
免费的大数据学习资料,这一份就足够
查看>>
clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
查看>>
MySQL(一)
查看>>
企业级应用与互联网应用的区别
查看>>
steelray project viewer
查看>>
itext jsp页面打印
查看>>
HTTP之报文
查看>>