requests文档

首先需要安装:pip install requests

get请求

最基本的get:

# -*- coding: utf-8 -*-
import requests
response = requests.get("http://www.baidu.com/")

添加headers及查询参数:

# -*- coding: utf-8 -*-
import requests kw = {'wd':'秦时明月'}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} # params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
response = requests.get("http://www.baidu.com/s?", params = kw, headers = headers) # 查看响应内容,response.text 返回的是Unicode格式的数据
print response.text # 查看响应内容,response.content返回的字节流数据
print respones.content # 查看完整url地址
print response.url # 查看响应头部字符编码
print response.encoding # 查看响应码
print response.status_code

post请求

最基本的post:

# -*- coding: utf-8 -*-
import requests
response = requests.post("http://www.baidu.com/", data = data)

传入查询参数:

使用有道翻译的例子

# -*- coding: utf-8 -*-
import requests formdata = {
"i":" python",
"from":"AUTO",
   "to":"AUTO",
"smartresult":" dict",
   "client":" fanyideskweb",
   "salt":"",
   "sign":" 2a6d78290492d163dbd6803b29e2489c",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_ENTER",
"typoResult":"true"
} url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"} response = requests.post(url, data = formdata, headers = headers) print response.text # 如果是json文件可以直接显示
print response.json()

设置代理

# -*- coding: utf-8 -*-
import requests # 根据协议类型,选择不同的代理
proxies = {
"http": "http://12.34.56.79:9527",
"https": "http://12.34.56.79:9527",
}
# 私密代理
# proxy = { "http": "账户:密码@61.158.163.130:16816" }
response = requests.get("http://www.baidu.com", proxies = proxies)
print response.text

web客户端验证

# -*- coding: utf-8 -*-
import requests auth=('账户', '密码') response = requests.get('http://192.168.23.19', auth = auth) print response.text

比urllib2简单很多

cookie

如果一个响应中包含了cookie,那么我们可以利用 cookies参数拿到:

# -*- coding: utf-8 -*-
import requests response = requests.get("http://www.baidu.com/") # 返回CookieJar对象:
cookiejar = response.cookies # 将CookieJar转为字典:
cookiedict = requests.utils.dict_from_cookiejar(cookiejar) print cookiejar print cookiedict

模拟登录:

# -*- coding: utf-8 -*-
import requests # 创建session对象,可以保存Cookie值
ssion = requests.session()
# 需要登录的用户名和密码
data = {"email":"账户", "password":"密码"} # 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post("http://www.renren.com/PLogin.do", data = data) # ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get("http://www.renren.com/410046543/profile") print response.text

处理SSL验证

# -*- coding: utf-8 -*-
import requests
response = requests.get("https://www.baidu.com/", verify=True) # 也可以省略不写
# response = requests.get("https://www.baidu.com/")
# 如果SSL证书验证不通过,或者不信任服务器的安全证书,则会报出SSLError
print response.text # 如果我们想跳过 12306 的证书验证,把 verify 设置为 False 就可以正常请求了
import requests
response = requests.get("https://www.12306.cn/mormhweb/", verify = False)
print response.text

Python爬虫基础(四)Requests库的使用的更多相关文章

  1. Python爬虫基础之requests

    一.随时随地爬取一个网页下来 怎么爬取网页?对网站开发了解的都知道,浏览器访问Url向服务器发送请求,服务器响应浏览器请求并返回一堆HTML信息,其中包括html标签,css样式,js脚本等.我们之前 ...

  2. python爬虫之一:requests库

    目录 安装requtests requests库的连接异常 HTTP协议 HTTP协议对资源的操作 requests库的7个主要方法 request方法 get方法 网络爬虫引发的问题 robots协 ...

  3. PYTHON 爬虫笔记三:Requests库的基本使用

    知识点一:Requests的详解及其基本使用方法 什么是requests库 Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库,相比u ...

  4. Python爬虫的开始——requests库建立请求

    接下来我将会用一段时间来更新python爬虫 网络爬虫大体可以分为三个步骤. 首先建立请求,爬取所需元素: 其次解析爬取信息,剔除无效数据: 最后将爬取信息进行保存: 今天就先来讲讲第一步,请求库re ...

  5. 芝麻HTTP: Python爬虫利器之Requests库的用法

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

  6. python爬虫#网络请求requests库

    中文文档 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html requests库 虽然Python的标准库中 urlli ...

  7. 【python爬虫】用requests库模拟登陆人人网

    说明:以前是selenium登陆取cookie的方法比较复杂,改用这个 """ 用requests库模拟登陆人人网 """ import r ...

  8. 网络爬虫入门:你的第一个爬虫项目(requests库)

    0.采用requests库 虽然urllib库应用也很广泛,而且作为Python自带的库无需安装,但是大部分的现在python爬虫都应用requests库来处理复杂的http请求.requests库语 ...

  9. python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...

  10. Python爬虫入门四之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

随机推荐

  1. smb使用 ------转载自http://blog.csdn.net/tlaff/article/details/5463068

    一.在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件: 常用到smbclient:用法如下 [root@localhost ~]# smbclient  -L  / ...

  2. PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法

    什么是BOM? 在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF.而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中.UCS规范建 ...

  3. APACHE服务器500错误解决方法

    1.APACHE没开启rewrite模块. 解决办法:编辑apache的http.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so, ...

  4. ActiveMQ-5.13.0集群

    ActiveMQ集群介绍 ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要由两种:Master-Slave(ActiveMQ5.8版本已不可用 ...

  5. iOS: UUID and SSKeyChain

    需要加入SSKeyChain文件 传送门:SSKeyChain // // UniqueIDCreater.h // Housemart // // Created by Haozhen Li on ...

  6. Oracle-批量修改语句及相关知识点

    问: 有两张表A和B,结构相同,数据量一致,比如都有x,y和z列且都有n行,x为主键,完全相等,如何把表B的y列的数据赋值给A的y列? 我写的是1 update A set A.y=B.y where ...

  7. Yii2自带验证码实现

    总共分为三个方面:控制器配置.模型rules配置和视图配置. 第一步:控制器配置 将下列代码配置在actions中,请求验证码链接对应为 “控制器/captcha” 'captcha' => [ ...

  8. MVC Razor与javascript混编(js中嵌入razor)

    其中的关键是输出js上的纯文本内容,让浏览器解析为其中的js代码 <script>    BUI.use('common/main',function(){        var conf ...

  9. 使用Visual Studio将C#生成DLL文件的方法

    1.命令方式 打开Visual Studio安装目录下的开发人员命令提示 译 File.cs 以产生 File.exe csc File.cs 编译 File.cs 以产生 File.dll csc ...

  10. NFS挂在文件系统启动参数

    1.tiny6410(增强版)bootargs启动参数(周学伟)noinitrd console=ttySAC0,115200 lcd=S70 init=/init root=/dev/nfs rw ...