摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。
Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到。
Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner,更重要的一点是它支持 Python3
Beautiful is better than ugly. (美丽优于丑陋)
Explicit is better than implicit. (清楚优于含糊)
Simple is better than complex. (简单优于复杂)
Complex is better than complicated. (复杂优于繁琐)
Readability counts. (重要的是可读性)
Requests 官网:
https://pypi.python.org/pypi/requests
安装 Requests
方式1)pip 安装
pip install requests # python2.7pip3 install requests # python3.6
方式2)源码安装
下载 requests-2.18.2.tar.gz
解压安装:
tar zxvf requests-2.18.2.tar.gzcd requestspython setup.py install
验证安装:
</>复制代码
$ python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests
使用 Requests
requests 封装了Python的urlib和urllib2,所以爬取网页非常简洁
1. 爬取网页
</>复制代码
import requests
# 爬取米扑科技首页
req = requests.get(url = "http://mimvp.com")
print("status_code : " + str(req.status_code))
print("mimvp text : " + req.text)
# 爬取米扑代理(含请求参数)
req = requests.get(url="http://proxy.mimvp.com/free.php", params={"proxy":"out_tp","sort":"p_ping"})
print("status_code : " + str(req.status_code))
print("mimvp text : " + req.text)
爬取网页非常简洁吧,Python urllib 三行代码,requests只需要一行代码搞定
urllib : urllib.urlopen("http://mimvp.com").read()
urllib2: urllib2.urlopen("http://mimvp.com").read()
或者
</>复制代码
import urllib2
req = urllib2.Request("http://mimvp.com")
res = urllib2.urlopen(req)
page = res.read()
requests 接口格式:
</>复制代码
requests.get("https://mimvp.com/timeline.json") # GET请求
requests.post("http://mimvp.com/post") # POST请求
requests.put("http://mimvp.com/put") # PUT请求
requests.delete("http://mimvp.com/delete") # DELETE请求
requests.head("http://mimvp.com/get") # HEAD请求
requests.options("http://mimvp.com/get") # OPTIONS请求
requests 接口示例:
</>复制代码
import requests
requests.get("http://mimvp.com", params={"love": "mimvp"}) # GET参数实例
requests.post("http://mimvp.com", data={"love": "mimvp"}) # POST参数实例
Requests 设置代理
</>复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
#
# Python requests 支持 http、https、socks4、socks5
#
# 米扑代理示例:
# http://proxy.mimvp.com/demo2.php
#
# 米扑代理购买:
# http://proxy.mimvp.com
#
# mimvp.com
# 2016-09-16
import requests
import ssl
import socks, socket # 需要引入socks.py文件,请到米扑代理下载
mimvp_url = "http://proxy.mimvp.com/exist.php"
mimvp_url2 = "https://proxy.mimvp.com/exist.php"
mimvp_url3 = "https://apps.bdimg.com/libs/jquery-i18n/1.1.1/jquery.i18n.min.js"
# 使用代理 http, https
proxies = {
"http" : "http://120.77.155.249:8888",
"https" : "http://54.255.211.38:80",
}
req = requests.get(mimvp_url2, proxies=proxies, timeout=30, verify=False)
print("mimvp text : " + req.text)
# 使用代理 socks4
proxies = {
"socks4" : "163.121.188.2:4000",
}
socks4_ip = proxies["socks4"].split(":")[0]
socks4_port = int(proxies["socks4"].split(":")[1])
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, socks4_ip, socks4_port)
socket.socket = socks.socksocket
req = requests.get(mimvp_url2, timeout=30, verify=False)
print("mimvp text : " + req.text)
# 使用代理 socks5
proxies = {
"socks5" : "190.9.58.211:45454",
}
socks5_ip = proxies["socks5"].split(":")[0]
socks5_port = int(proxies["socks5"].split(":")[1])
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, socks5_ip, socks5_port)
socket.socket = socks.socksocket
req = requests.get(mimvp_url2, timeout=30, verify=False)
print("mimvp text : " + req.text)
本示例采用的米扑代理,支持 http、https、socks4、socks5等多种协议,覆盖全球120多个国家,中国34个省市
推荐米扑代理: http://proxy.mimvp.com
参考推荐:
Python pyspider 安装与开发
Python3 urllib 用法详解
PhantomJS 安装与开发
Node.js 安装与开发
Node.js SuperAgent 安装与开发
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25655.html
摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。 Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到。Reque...
摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。 Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到。Reque...
摘要:可通过以下命令生成文件运行虚拟环境可使用以下命令来运行项目或者启动虚拟环境的环境直接运行并不会出现命令行,是应为没有配置环境变量。 本文最早发布与个人博客:http://www.pylixm.cc 最近常看到pipenv这个管理工具,今天有时间查了下,是 Kennethreitz 大神的作品,看了下github的仓库,是2017年1月份创建的,仅仅一年的时间变获得了7k+的收藏,最新一...
阅读 2251·2023-04-25 16:19
阅读 3292·2021-11-24 09:39
阅读 916·2021-11-16 11:44
阅读 1763·2019-08-29 12:52
阅读 1205·2019-08-26 13:33
阅读 1146·2019-08-26 10:26
阅读 2273·2019-08-23 16:42
阅读 2671·2019-08-23 14:37
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要