资讯专栏INFORMATION COLUMN

Python requests 安装与开发

wuyangnju / 3446人阅读

摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。

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/40742.html

相关文章

  • Python requests 安装开发

    摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。 Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到。Reque...

    XGBCCC 评论0 收藏0
  • Python requests 安装开发

    摘要:是用语言编写客户端库,跟类似,基于,但比更加方便,可以节约我们大量的工作,完全满足测试需求,编写爬虫和测试服务器响应数据时经常会用到。 Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到。Reque...

    2shou 评论0 收藏0
  • pipenv 更优雅的管理你的python开发环境

    摘要:可通过以下命令生成文件运行虚拟环境可使用以下命令来运行项目或者启动虚拟环境的环境直接运行并不会出现命令行,是应为没有配置环境变量。 本文最早发布与个人博客:http://www.pylixm.cc 最近常看到pipenv这个管理工具,今天有时间查了下,是 Kennethreitz 大神的作品,看了下github的仓库,是2017年1月份创建的,仅仅一年的时间变获得了7k+的收藏,最新一...

    dockerclub 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<