博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 爬虫-Requests库入门
阅读量:4316 次
发布时间:2019-06-06

本文共 1557 字,大约阅读时间需要 5 分钟。

2017-07-25 10:38:30

response = requests.get(url, params=None, **kwargs)

  • url : 拟获取页面的url链接∙ params : url中的额外参数,字典或字节流格式,可选
  • params参数是字典或字节序列,作为参数增加到url中

 

kv = {
'key1': 'value1', 'key2': 'value2'}>>> r = requests.request('GET', 'http://python123.io/ws', params=kv)>>> print(r.url)http://python123.io/ws?key1=value1&key2=value2
  • **kwargs: 12个控制访问的参数

headers:字典,HTTP定制头

 hd = {
'user‐agent': 'Chrome/10'} r = requests.request('POST', 'http://python123.io/ws', headers=hd)

timeout : 设定超时时间,秒为单位

 r = requests.request('GET', 'http://www.baidu.com', timeout=10)

proxies : 字典类型,设定访问代理服务器,可以增加登录认证

>>> pxs = { 'http': 'http://user:pass@10.10.10.1:1234''https': 'https://10.10.10.1:4321' }>>> r = requests.request('GET', 'http://www.baidu.com', proxies=pxs)

 

使用举例:

import requests# r:response 右侧get: requestsr = requests.get('http://jwc.seu.edu.cn/')

 

一、返回值Response对象的属性

 

二、爬取网页的通用代码框架

import requestsdef gethtml(url):    # 打开网页有风险,需要使用try-except语句进行风险控制    try:        r = requests.get(url)        r.raise_for_status()   # 如果打开失败,则会抛出一个HttpError异常        # encoding是从header中分析出来的编码方式,apparent_encoding是 从内容分析出的编码方式        r.encoding=r.apparent_encoding        return r.text    except:        print("打开失败")

 

 三、requests库的方法和HTTP协议

  • HTTP协议:超文本传输协议

HTTP是一个基于“请求与响应”模式的、无状态的应用层协议。

HTTP协议采用URL作为定位网络资源的标识,URL格式如下:http://host[:port][path]

HTTP协议对资源的操作方法:

 

其中get,head方法是从服务器取回数据,post,put,patch,delete方法是向服务器写入或者修改数据。

patch 和 put 的区别:patch 是局部更新,而put 是全部更新。patch节省网络带宽,是HTTP协议改良后的新增指令。

HTTP的指令和requests 的方法一一对应。

  • Requests 的七个主要方法

 

转载于:https://www.cnblogs.com/TIMHY/p/7233212.html

你可能感兴趣的文章
oracle的级联更新、删除
查看>>
多浏览器开发需要注意的问题之一
查看>>
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
springMVC中一个class中的多个方法
查看>>
Linux系统安装出错后出现grub rescue的修复方法
查看>>
线段树模板整理
查看>>
[iOS问题归总]iPhone上传项目遇到的问题
查看>>
Python天天美味(总) --转
查看>>
Spring Framework tutorial
查看>>
【VS开发】win7下让程序默认以管理员身份运行
查看>>
【机器学习】Learning to Rank 简介
查看>>
Unity 使用实体类
查看>>
MySQL常见注意事项及优化
查看>>
流畅的Python (Fluent Python) —— 前言
查看>>
Jquery-menu-aim流畅的菜单滑动体验
查看>>