- Python HTTP请求的实现 [ 笔记 ]

目录

安装Requests库

GET请求

POST请求 

响应码code和响应头headers的处理

请求超时设置


读取URL和下载网页内容,是每一个爬虫的必经之路。那么在阅读《Python爬虫开发与项目实战》一书得知,Python实现HTTP请求有三种方式——

  1. urllib2/urllib
  2. httplib/urllib
  3. Requests

经书中例子对比发现,个人更偏好第三种请求方式,操作比较简单,因为懒,所以这里对前两种方式不做过多的赘述,有兴趣的小伙伴自己去百度吧,反正我的懒癌已经是晚期无解了。那么接下来——

- Python HTTP请求的实现 [ 笔记 ]_第1张图片

 

安装Requests库

由于Requests是一个第三方库,所以在使用之前,需要先安装它,在线安装pip一下,一切都是那么的完美,当然了,不要在意我的Python版本,毕竟整个公司用到都是2.7我能怎么办呢 ——

- Python HTTP请求的实现 [ 笔记 ]_第2张图片

安装成功之后,跟着书中的例子敲一遍吧

 

GET请求

# -*- coding:utf-8 -*-
import requests

# 以下为GET请求
url = 'https://www.csdn.net/'
requests = requests.get(url)
print requests.content  # 返回字节形式

 

POST请求 

# -*- coding:utf-8 -*-
import requests

# 以下为POST请求
url = 'https://xxxxx.com/login'
postdatas = {'key': 'value'}
requests = requests.post(url, data=postdatas)
print requests.content  # 返回字节形式

然后其他的put、delete等方法,也可以照葫芦画瓢的使用

 

响应码code和响应头headers的处理

# -*- coding:utf-8 -*-
import requests

url = 'https://www.csdn.net/'
r = requests.get(url)
if r.status_code == requests.codes.ok:
    print '=== status_code === ', r.status_code  # 响应码
    print '=== headers === ', r.headers  # 响应头
    print '=== Content-Type === ', r.headers.get('Content-Type')  # 获取响应头中的Content-Type字段
else:
    r.raise_for_status()  # 抛出异常

打印结果如下:

- Python HTTP请求的实现 [ 笔记 ]_第3张图片

 

请求超时设置

# -*- coding:utf-8 -*-
import requests

url = 'https://www.csdn.net/'
r = requests.get(url,timeout=20)

 timeout的单位为秒

你可能感兴趣的:(-,Python爬虫开发与项目实战,笔记,。,-,Python,。)