http请求

python爬虫之Request库的使用

こ雲淡風輕ζ 提交于 2020-02-16 18:27:53
目录 一、Requests的安装 二、Request的使用 1、提取目标网站的代码 2、Request基本请求方式 3、Requests库的get()方法 4、Response 对象的属性 5、理解Requests库和Response的异常 6、爬取网页的通用代码框架 7、HTTP协议 三、爬取中国大学排名 Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 一、Requests的安装 pip install requests 二、Request的使用 1、提取目标网站的代码 import requests req = requests . get ( "https://www.baidu.com" ) print ( req . text ) 2、Request基本请求方式 方法 说明 requests.request() 构造一个请求,支撑以下各方法的基础方法 requests.get() 获取HTML网页的主要方法,对应于HTTP的GET requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST requests.put() 向HTML网页提交PUT请求的方法

爬虫基础

回眸只為那壹抹淺笑 提交于 2020-02-16 01:31:55
文章目录 什么是爬虫? 学习爬虫需要学习的内容有哪些? 通用爬虫和聚焦爬虫 URI和URL HTTP和HTTPS 响应状态码(面试常考) 请求方法 什么是爬虫? 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 学习爬虫需要学习的内容有哪些? 1.python基础语法知识,加上进阶语法知识更好。 2. 基本库的使用,比如:urllib,requests 3. 解析库的使用,比如:XPath,Beautiful Soup,pyquery 4. 数据的存储,比如:TXT,JSON,CSV,Mysql,MongoDB,redis 5. Ajax数据的获取 6. 验证码的识别 7. 代理的使用 8. 模拟登陆 9. app爬虫 10.pyspider框架的使用 11.Scrapy框架的使用 12.分布式爬虫 通用爬虫和聚焦爬虫 1.通用爬虫 通用网络爬虫 是捜索引擎抓取系统(Baidu、Google、Yahoo 等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 2、聚焦爬虫 聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区 别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。而我们这些爬虫爱好者就是学习聚焦爬虫。 URI和URL URI (Uniform

HTTP中get 和 post的区别

心不动则不痛 提交于 2020-02-15 17:39:27
转自 http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查 , 改 , 增 , 删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询 资源信息,而POST一般用于 更新 资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算

Yahoo!团队实践分享:网站性能优化的34条黄金守则(一)—内容

喜夏-厌秋 提交于 2020-02-15 16:50:56
Yahoo!的 Exceptional Performance 团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少HTTP请求 减少DNS查找 避免跳转 缓存Ajxa 推迟加载 提前加载 减少DOM元素数量 用域名划分页面内容 使frame数量最少 避免404错误 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。 合并文件 是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做不同的修改

Yahoo!网站最佳体验守则之内容篇

妖精的绣舞 提交于 2020-02-15 16:50:44
英文地址: http://developer.yahoo.com/performance/rules.html Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少HTTP请求 减少DNS查找 避免跳转 缓存Ajxa 推迟加载 提前加载 减少DOM元素数量 用域名划分页面内容 减小iframe的大小 避免404错误 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。 合并文件 是通过把所有的脚本放到一个文件中来减少HTTP请求的方法

自定义Web框架

天涯浪子 提交于 2020-02-15 15:36:58
http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接

Python 与 http请求

橙三吉。 提交于 2020-02-15 07:10:40
Python 与 http请求 文章目录 Python 与 http请求 HTTP 基本原理 URI & URL 超文本 HTTP & HTTPS HTTP 请求过程 请求与响应 请求(Request) 响应(Response) 会话 和 Cookies 会话 Cookies 代理 网页基础 HTML, 超文本标记语言 CSS, 层叠样式表 JavaScript, 脚本语言 网页结构 选择器 用 Python 发起 HTTP 请求 urllib urllib.request 发送请求 `urlopen()`: 发送请求 `urlopen()` 带 `data` 参数: 用 POST 发送一些数据 `urlopen()` 带 `timeout` 参数: 如果请求超出了设置的这个时间,还没有得到响应,就会抛出异常。 Request 类构建 Headers Request类 的构建参数 高级用法 Handler Opener 处理 `HTTP 基本认证` 使用 `代理` 处理 Cookies 获取 Cookies 取用 Cookies urllib.error 处理异常 URLError: HTTPError 综合使用: urllib.parse 解析链接 quote() 将内容转化为 URL 编码的格式 urlparse() URL的识别和分段 urlunparse() 合成URL

<转>jmeter(十四)HTTP请求之content-type

蹲街弑〆低调 提交于 2020-02-15 06:33:18
本博客转载自: http://www.cnblogs.com/dinghanhua/p/5646435.html 个人感觉不错,对jmeter最常用的取样器 http请求 需要用到的信息头管理器做了很好的解释,推荐推荐!!! 本文讲三种content-type以及在Jmeter中对应的参数输入方式 第一部分:目前工作中涉及到的content-type 有三种: content-type:在Request Headers里,告诉服务器我们发送的请求信息是哪种格式的。 1 content-type: application/x-www-form-urlencoded 默认的。如果不指定content-type,默认使用此格式。 参数格式:key1=value1&key2=value2 2 content-type:application/json 参数为json格式 { "key1":"value1", "key2":"value2" } 3 content-type:multipart/form-data [ dinghanhua ] 上传文件用这种格式 发送的请求示例: 第二部分 不同的content-type如何输入参数 1 content-type: application/x-www-form-urlencoded 参数可以在Parameters或Body D ata里输入

HTTP中get和post区别

可紊 提交于 2020-02-15 06:22:54
HTTP中比较经典的问题,我整理了下网上我读懂的比较好的资料,目前在知乎上看到了好的解释,毕竟是被别人理解过再经过自己表述出来的,相对书本也更容易让人理解些,如下: 1. 原文链接:https://www.zhihu.com/question/28586791/answer/145424285 通常的理解 w3schools关于这个问题的解答: HTTP 方法:GET 对比 POST 列出了一般的理解,比如: GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 GET书签可收藏,POST为书签不可收藏。 GET能被缓存,POST不能缓存 。 GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。 GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。 GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL

浅谈HTTP中Get与Post的区别

拥有回忆 提交于 2020-02-15 05:29:13
浅谈HTTP中Get与Post的区别 2009-03-31 14:51 by hyddd, 880444 阅读, 118 评论, 收藏 , 编辑   Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算