介绍

对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么这一节来简单介绍一下 requests 库的基本用法

安装

pip install requests

基本请求

req = requests.get("http://www.baidu.com")
req = requests.post("http://www.baidu.com")
req = requests.put("http://www.baidu.com")
req = requests.delete("http://www.baidu.com")
req = requests.head("http://www.baidu.com")
req = requests.options("http://www.baidu.com")

get请求

参数是字典,我们也可以传递json类型的参数:

import requestsurl = "http://www.baidu.com/s"
params = {'wd': 'python'}
response = requests.get(url, params=params)
print(response.url)
response.encoding = 'utf-8'
html = response.text
print(html)

post 请求

参数是字典,我们也可以传递json类型的参数:

url = "http://www.xxx.cn/index/login/login.html"
formdata = {"user": "xxx","password": "****"
}
response = requests.post(url, data=formdata)
response.encoding = 'utf-8'
html = response.text
print(html)

自定义请求头部

伪装请求头部是采集时经常用的,我们可以用这个方法来隐藏:

headers = {'User-Agent': 'python'}
r = requests.get('http://www.zhidaow.com', headers = headers)
print(r.request.headers['User-Agent'])

设置超时时间

可以通过timeout属性设置超时时间,一旦超过这个时间还没获得响应内容,就会提示错误

requests.get('http://github.com', timeout=0.001)

代理访问

采集时为避免被封IP,经常会使用代理。requests也有相应的proxies属性

import requestsproxies = {"http": "http://10.10.1.10:3128","https": "https://10.10.1.10:1080",
}requests.get("http://www.zhidaow.com", proxies=proxies)
如果代理需要账户和密码,则需这样proxies = {"http": "http://user:pass@10.10.1.10:3128/",
}

session自动保存cookies

seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录

# 创建一个session对象
s = requests.Session()
# 用session对象发出get请求,设置cookies
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')

ssl验证

# 禁用安全请求警告
requests.packages.urllib3.disable_warnings()resp = requests.get(url, verify=False, headers=headers)

获取响应信息

代码 含义
resp.json() 获取响应内容(以json字符串)
resp.text 获取响应内容 (以字符串)
resp.content 获取响应内容(以字节的方式)
resp.headers 获取响应头内容
resp.url 获取访问地址
resp.encoding 获取网页编码
resp.request.headers 请求头内容
resp.cookie 获取cookie

Python爬虫之(六)requests库的用法相关推荐

  1. Python爬虫利器一Requests库的用法

    之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来简单介 ...

  2. 从零开始写Python爬虫---1.1 requests库的安装与使用

    什么是爬虫? 爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的.所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到req ...

  3. PYTHON 爬虫笔记七:Selenium库基础用法

    知识点一:Selenium库详解及其基本使用 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium ...

  4. Python 爬虫进阶六之多进程的用法

    python 中的多线程其实并不是真正的多线程,并不能做到充分利用多核 CPU 资源. 如果想要充分利用,在 python 中大部分情况需要使用多进程,那么这个包就叫做 multiprocessing ...

  5. Python爬虫开发:requests库的使用--session的使用

  6. Python爬虫开发:requests库的使用--https协议的问题解决

  7. Python爬虫开发:requests库的使用--ip代理参数的设置

  8. Python爬虫开发:requests库的使用--发送带参数post请求

  9. Python爬虫开发:requests库的使用--发送带参数get请求

  10. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

最新文章

  1. itertools中常用的工具(chain,islice)
  2. Coding Interview Guide--打印两个有序链表的公共部分
  3. A good memory allocator is everything that I need
  4. 矩阵求逆c语言实现_[V-SLAM] Bundle Adjustment 实现
  5. idea重写接口没有@override_乐字节|Java8核心实战-接口默认方法
  6. Hierarchical clustering
  7. JS控制浏览器捕捉键盘
  8. 浅谈,盘点历史上有哪些著名的电脑病毒,80%的人都不知道!
  9. server2003安装python3.4.4
  10. 微服务中的Spring Cloud和Spring Cloud Alibaba分别有哪些组件和作用,众多组件中如何做技术选型?
  11. 电信大型服务器机房_香港十大知名服务器机房汇总详细介绍
  12. QQ邮箱客户端授权码设置
  13. 别用cmd了,配置一个比Mac终端还美的Windows Terminal——详细教程
  14. 无缘无故,Oralce使用normal模式登录用户失败
  15. js中Object.freeze()函数的作用
  16. Java高并发程序设计(三)——JDK并发包(一)
  17. 强化学习3:蒙特卡洛和时序差分
  18. 外语配音软件“布谷鸟配音“和ffmepg转换软件的使用以及SYD_Calculator提取文件到C语言
  19. 浏览器野史 UserAgent 列传(下)
  20. 半导体传感器的零点漂移

热门文章

  1. iTOP-i.MX6Q开发板支持安卓Android6.0系统
  2. C# 获取动态类中所有的字段
  3. A - 还是畅通工程(最小生成树)
  4. angularjs 学习笔记(一) -----JSONP跨站访问
  5. css hack 尽我所见
  6. 好程序员分享如何看待CSS中BEM的命名方式?
  7. 0523- 人员定位系统问题随手记
  8. 一个过滤器不仅解决了会话标识未更新同时还顺带解决了已解密的登录请求
  9. Python资料收藏(杂乱版)
  10. C#设计模式-单例模式