7-6

Posted coder-2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7-6相关的知识,希望对你有一定的参考价值。

ython请求数据

基本的HTTP协议知识后,大家可能会疑问那我该如何模仿浏览器或者手机客户端去向服务器发送HTTP请求呢?python的原生库urllib、第三方库requests、pycurl等都支持HTTP协议,既然有这么多工具可以用,大家可能就又有疑问该选择哪个工具了。在此我特地安利大家用一下requests,它让爬虫变得如此简单,让你再也不用为字符编码、重定向、cookie、响应解压缩烦恼了。如果你坚持用原生的库,那么有以下问题需要你一一解决,这些都是当年自己趟过的坑,绝非危言耸听。

  1. 需要自己判断服务器返回数据的编码格式,如果这个地方你不能正确判断,那恭喜你之后的每一步,你都必须面对乱码的问题
  2. 重定向,urllib不能自动判断重定向,需要自己解析重定向的链接并重新请求
  3. 如果模拟登陆,你必须要手动保证Cookie正确更新和发送
  4. 很多情况下响应正文是压缩过的,需要做解压处理
  5. 对于比较长的响应正文,服务器会将正文分段传输,所以还需要你做拼接操作
  6. 原生的urllib对HTTPS和持久连接都支持不好

以上是关于7-6的主要内容,如果未能解决你的问题,请参考以下文章

SQL基础操作_5_字符串处理

写一段JS实现conosle.log输出5、6、7、8、9、10、9、8、7、6、5、6、7、8、9、10...

从 SonarQube_6.7.6 导出报告

PTA题目集导航

带有 Python 2.7.6 和 Virtualenv 12.0.7 (OSX10,10.2) 的 Django 1.7.6 - 模板呈现模板语法错误

leetcode 491. 递增子序列