Python requests 安装与开发
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.7
pip3 install requests # python3.6
方式2)源码安装
解压安装:
tar zxvf requests-2.18.2.tar.gz
cd requests
python 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
<module 'requests' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/__init__.pyc'>
使用 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 requests 安装与开发的更多相关文章
- Python的安装与开发环境的选用
2021快要结束了,这一年我依旧深耕于python的广阔土壤,将重点放在机器人和传感器的角度.也收获了一大批正在学习和期望学习python的朋友. 正在学习的暂且不言,这篇主要是写给期望学习的朋友,同 ...
- Python pyspider 安装与开发
PySpider 简介 PySpider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器.任务监视器, ...
- python requests 安装
在 windows 系统下,只需要输入命令 pip install requests ,即可安装. 在 linux 系统下,只需要输入命令 sudo pip install requests ,即可 ...
- Python 离线 安装requests第三方库
一.介绍 requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,不过requests的优势在于使用简单,相同一个功能,用requests实现起来代码量要少很多.毕竟 ...
- python下载安装requests库
一.python下载安装requests库 1.到git下载源码zip源码https://github.com/requests/requests 2.解压到python目录下: 3.“win+R”进 ...
- 【tensorflow】1.安装Tensorflow开发环境,安装Python 的IDE--PyCharm
================================================== 安装Tensorflow开发环境,安装Python 的IDE--PyCharm 1.PyCharm ...
- python上安装requests
首先需要配置好python的环境变量. 测试是否成功配置,进入命令行,输入python. 如下图为配置成功. 去第三方库的网站下载安装包,解压在python的安装目录 ,下载地址:https://py ...
- python pip安装requests库总提示:Fatal error in launcher...''
1.python pip安装提示:Fatal error in launcher...'' 我查看了网上都说是电脑同时安装了python2 和python3时候才会有这个错误,但实际上我电脑只安 ...
- ubuntu 上用virtualenv安装python不同版本的开发环境。
1.用pip安装virtualenv apt-get install python-virtualenv 2.创建python2的虚拟环境,进入要创建虚拟环境的目录下,我是放在/home/pyenv/ ...
随机推荐
- js原生获取className&多选一
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Spring 学习一
Spring工作机制及为什么要用? 1.springmvc将所有的请求都提交给DispacherServlet,他会委托应用系统的其他模块负责对请求进行真正的处理工作. 2.DispacherServ ...
- 入门Android开发
一个工作1年多一点的前端狗,由于公司需要,开始接触Android,也是第一次写博客,以后学到的技术每天都会写篇博客,让我们一起进步. Android 系统开发应用程序,为我们提供了哪些东西. 一.四大 ...
- 简约的HTML5音乐播放器插件
从我刚开始接触前端的时候就想写一个能播放音乐的小程序,刚开始写的时候虽然可以放,但是确实很慢,很卡,有很多可以优化的地方.最近在前一个版本的基础上重写了一个音乐播放器的插件,速度还可以吧 因为追求简约 ...
- mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现
项目结构 基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/Mybatis ...
- Unity3D文件读取
Resources: 是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中.它的特点简单总结一下就是: 只读 ...
- 微信公众号调用JS-SDK
坑:先设置js接口安全域名,在公众号设置-功能设置-js接口安全域名中设置 授权登录功能需要在开发者中心页配置授权回调域名 文档:http://mp.weixin.qq.com/wiki/7/aaa1 ...
- 全网首创ISE入门级教程
转眼间我已经大三了,现在成为了实验室的负责人,对于下一届学生的纳新重任就交到了我的手上,想采取不同的方法暑假尽可能对他们进行一些培训,所以制作了此教程,说实话,在网上还没有找到关于ISE的入门级使用教 ...
- git合并历史提交
背景 以前一直觉得只要pull和push就够了,但合作中总会遇到各种非理想的情况.这时候才发现git其他命令的作用. 现在的情况是,repo是一个远程team维护的,我们需要增加新feature,那么 ...
- TCP简单通讯
客户端代码: package com.kaige123.net01; import java.io.IOException; import java.io.InputStream; import ja ...