全栈工程师开发手册 (作者:栾鹏)
python教程全解

python中requests库的基础应用,网页数据挖掘的常用库之一。也就是说最主要的功能是从网页抓取数据。

使用前需要先联网安装requests库点击下载(在安装中会自动联网下载依赖包)

python库的安装请参考Python库的安装与卸载

python2.7、python3.6下

#coding:utf-8
#python网络爬虫库requests库应用全解
import requests
import jsonprint(u'================入门================')r = requests.get('http://blog.csdn.net/luanpeng825485697/')  #返回Response对象
# print(r.status_code)  # 获取整型返回状态
# print(r.headers)  # 获取头部信息,#以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
# print(r.encoding)  #获取编码类型
# print(r.url)  #获取响应网址
# print(r.history)  #获取访问历史
# print(r.reason)  #获取文本描述,"Not Found" or "OK".
# print(r.cookies)  #获取cookie
# print(r.raw) #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read() 读取
# print(r.content) #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
# print(r.text) #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
# print(r.links)   #解析响应的头部连接
# print(r.is_redirect)  #是否是重定向响应
#*特殊方法*#
# r.json() #如果返回的是json字符串将翻译为python对象
# r.raise_for_status() #功能:如果失败请求(非200响应)抛出异常
# r.close()   #关闭连接print(u'================基本请求================')
r = requests.post("http://httpbin.org/post")
r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")print(u'================基本GET请求================')
payload = {'key1': 'value1', 'key2': 'value2'}  #字典数据
headers = {'content-type': 'application/json'}  #header数据
r = requests.get("http://httpbin.org/get", params=payload, headers=headers) #payload可以省略,会在网址中添加
print(r.url)print(u'================基本POST请求================')url = 'http://httpbin.org/post'
payload = {'some': 'data'}
r = requests.post(url, data=payload)  #上传字典数据
r = requests.post(url, json=json.dumps(payload))  #上传json数据
print(r.text)url = 'http://httpbin.org/post'
myfiles = {'file': open('test.txt', 'rb')}  #获取文件对象
r = requests.post(url, files=myfiles)  #上传文件
print(r.text)#with open('test.txt') as f:  #流式上传
#    requests.post('http://some.url/streamed', data=f)print('=============携带认证信息的请求==========')
from requests.auth import HTTPBasicAuth
response = requests.get(host,auth=HTTPBasicAuth('intellif', 'introcks'))print(u'================Cookies================')url = 'http://httpbin.org/cookies'
r = requests.get(url)  #响应中会包含cookie
print(r.cookies)url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')  #自定义cookie变量
r = requests.get(url, cookies=cookies)  #请求时附带cookie
print(r.text)print(u'================超时配置================')requests.get('http://github.com', timeout=1)  #1秒没有响应就报错print(u'================会话对象(持久连接)================')s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')  #get方式设置cookie
r = s.get("http://httpbin.org/cookies")  #获取cookie
print(r.text)headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, compress','Accept-Language': 'en-us;q=0.5,en;q=0.3','Cache-Control': 'max-age=0','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}s = requests.Session()
s.headers.update(headers)  #更新header
r = s.get('http://httpbin.org/headers', headers={'x-test': 'true'})  #get函数中添加的headers会覆盖原有同名,添加不同名的,去除值为None的
print(r.text)print(u'================SSL证书验证================')r = requests.get('https://github.com', verify=True)
print(r.text)r = requests.get('https://kyfw.12306.cn/otn/', verify=False)  #把 verify 设置为 False即可跳过证书验证
print(r.text)print(u'================设置代理服务器================')
#第一种方法
proxies = {"https": "http://121.193.143.249:80"
}
r = requests.post("http://httpbin.org/post", proxies=proxies)
print(r.text)
#第2中方法
s = requests.session()
s.proxies = {'http': '121.193.143.249:80'}
s.get('http://httpbin.org/ip')

python网络爬虫系列教程——python中requests库应用全解相关推荐

  1. python网络爬虫系列教程——python中pyquery库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python网络爬虫lxml库的应用全解. 在线安装方法:cmd中输入"pip install pyquery" 离线安装 ...

  2. python网络爬虫系列教程——python中lxml库应用全解(xpath表达式)

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python网络爬虫lxml库的应用全解. 在线安装方法:cmd中输入"pip install lxml" 离线安装,下载 ...

  3. python网络爬虫系列教程——python中urllib、urllib2、cookie模块应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python数据挖掘库urllib.urllib2.cookie知识全解.本文使用python2.7环境,如果需要使用python3的环境只需 ...

  4. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类

    1 前言 近期,有些朋友问我一些关于如何应对反爬虫的问题.由于好多朋友都在问,因此决定写一篇此类的博客.把我知道的一些方法,分享给大家.博主属于小菜级别,玩爬虫也完全是处于兴趣爱好,如有不足之处,还望 ...

  5. python网络爬虫系列教程——Python+PhantomJS +Selenium组合应用

    全栈工程师开发手册 (作者:栾鹏) python教程全解 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器. 理 ...

  6. python网络爬虫系列教程_Python网络爬虫系列教程连载 ----长期更新中,敬请关注!...

    感谢大家长期对Python爱好者社区的支持,后期Python爱好者社区推出Python网络爬虫系列教程.欢迎大家关注.以下系列教程大纲,欢迎大家补充.视频长期连载更新中 --------------- ...

  7. python网络爬虫系列教程——Scrapy框架应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 安装 在cmd中输入 Scrapy的安装依赖wheel.twiste.lxml包.所以先通过pip install wheel安装wheel库 ...

  8. python网络爬虫系列教程——PhantomJS包应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没天理了.所以,我们需要有一些好用 ...

  9. python网络爬虫——自学笔记1.用requests库爬取图片

    1.requests库的安装 rrequests库是公认的python的一个一个非常优秀的第三方库,下载方法也很简单 只需Win+R打开控制台命令窗口,输入pip install requests后回 ...

最新文章

  1. SugarCRM ListView查询中加入默认条件
  2. 生物系统和疾病的多组学数据整合考虑和研究设计
  3. 2018年各大互联网前端面试题三(阿里)
  4. 百度陆奇最新内部演讲:人工智能时代,给工程师的5个建议
  5. java或异运算_JAVA 或与非运算符 与()、或(|)、异或(^)【组图】
  6. [pytorch、学习] - 3.5 图像分类数据集
  7. 关于图片轮换与Tab标签
  8. exit和abort都是用来终止程序的函数
  9. linux查看内存_【001】一文带你全面掌握Linux系统体系结构
  10. 迅捷PDF编辑器如何编辑PDF文字图文教程
  11. 五线谱音名和组别对照表_五线谱最全知识及符号!
  12. 行业:美团将在快手开放平台上线美团小程序
  13. python 爬取海量网易云评论并写入数据库
  14. Vs2008在高DPI下显示模糊的解决办法
  15. 推荐一个免费的生成词云(word cloud)的在线工具
  16. 网站网页快速变灰方法
  17. hadoop+Kylin服务器搭建教程
  18. 拉新、促活、留存、付费转化
  19. java开发eclipse配置文件_配置eclipse开发环境
  20. 系统配置:CentOS关闭交换空间

热门文章

  1. 百度AI语音语义一体化技术 识别的同时进行语义分析
  2. 前端js获取本项目的项目根地址
  3. php生成站点地图,php生成百度站点地图sitemap.xml
  4. ubuntu mysql自动补全_mysql自动化安装脚本(ubuntu and centos64)
  5. 三种水平居中布局~详细
  6. c语言如果x小于,请达人帮忙做份C语言试卷,谢谢了
  7. 怎么用鼠标选中java中table的某一行_为什么同事的工作效率那么高?学会这些鼠标双击技巧,你也可以的...
  8. window10设置文件夹备注
  9. Linux 开发中的常用命令 ( Cygwin 环境也同样适用)
  10. python 自动登录网站_分析某网站,并利用python自动登陆该网站,下载网站内容...