Python爬虫知识点——请求

请求

:请求方法、请求网址、请求头、请求体

请求方法:

常见的为:GET、POST

GET与POST主要区别:

  • GET请求参数包含在URL,可从URL中看出。POST请求的URL不包含参数,都是通过表单的形式传输的,包含在请求体中
  • GET请求提交的数据最多只有1024字节,POST无限制

其他还有HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE

请求的网址:

即URL,我们想要请求的资源

请求头:

用来说明服务器要使用的附加信息,比较总要的有Cookie、Referer、User-Agent等。

Accept:请求报头域,用于指定客户端可接受哪些类型的信息。

Accept-Language:指定客户端可接受的语言类型。

Accept-Encoding:指定客户端可接受的内容编码。

Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位   置。从HTTP1.1版本开始,请求必须包含此内容。

Cookie:也常用复数形式Cookies, 是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话。例如,我们输人用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies 并将其发送给服务器,服务器通过Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。

Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应的处理,如做来源统计、防盗链处理等。

User-Agent: 简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等消息。在做爬虫时加上此信息,可以伪装成浏览器;如果不加,很可能被识别出为爬虫

Content-Type:也叫互联网媒体类型( Intermet Media Type)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。更多对应关系可以查看此对表:http://tool.oschina.net/commons

文件扩展名 Content-Type(Mime-Type)
.html、 .htx 、 .htm text/html
.gif image/gif
.json application/json

? Content-Type与POST提交数据方式的关系

Content-Type 提交数据的方式
appication/x-www-urlencodeed 表单数据
multipart/form-data 表单文件上传
applicatiobn/json 序列化json数据
text/html XML数据

如果构造POST请求,需要使用正确的Content-Type,不然可能导致POST提交后无法正常响应

==>因此,请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设定请求头。

请求体:

请求体一般承载的内容是POST请求中的表单数据,而对GET请求,请求体则为空。

文章摘自崔庆才的《Python3网络爬虫开发实战》

原文地址:https://www.cnblogs.com/nymrli/p/9387731.html

时间: 2024-10-27 18:46:17

Python爬虫知识点——请求的相关文章

Python 爬虫|深入请求:http协议以及fiddler的使用

对于一个URL https://zhuanlan.zhihu.com/xmucpp (1)首先浏览器解析出主机名:http://zhuanlan.zhihu.com (2)浏览器搜索出相应主机的ip地址(DNS) (3)浏览器解析出相应的端口号 (4)建立与主机及特定端口的联系 (5)发送请求报文(记录请求行为的一些信息及要求) (6)获得响应报文(包括你在浏览器上看到的信息) (7)关闭连接 现在来看一看报文的具体结构,对于构造请求行为中的headers很有帮助,只需要大概了解就好,不需要特别

Python爬虫|深入请求(四)常见的反爬机制以及应对方法

作者:David Qian 链接:https://zhuanlan.zhihu.com/p/21558661 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 大家好!我是厦门大学王亚南经济研究院的大一学生,今天将由我来为大家介绍一下常见的反爬机制以及应对方法. 注:非商业转载注明作者即可,商业转载请联系作者授权并支付稿费.本人已授权"维权骑士"网站(http://rightknights.com)对我在知乎发布文章的版权侵权行为进行追究与维权. ---

Python爬虫知识点四--scrapy框架

一.scrapy结构数据 解释: 1.名词解析: o??引擎(Scrapy Engine)o??调度器(Scheduler)o??下载器(Downloader)o??蜘蛛(Spiders)o??项目管道(Item Pipeline)o??下载器中间件(Downloader Middlewares)o??蜘蛛中间件(Spider Middlewares)o??调度中间件(Scheduler Middlewares) 2.具体解析 绿线是数据流向??从初始URL开始,Scheduler会将其交给Do

Python爬虫知识点梳理

学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些人是为了好玩,也有些人是为了实现某个黑科技功能.不过 肯定的是,学会了爬虫,能给你的工作提供很多便利. 作为零基础小白,大体上可分为三个阶段去实现,第一阶段是入门,掌握必备基础知识,比如Python基础.网络请求的基本原理等,第二阶段是模仿,跟着别人的爬虫代码学,弄懂每一行代码,熟悉主流的爬虫工具,

Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续)

通过前一节得出地址可能的构建规律,如下: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksTS=1481814489094_902&callback=jsonp903&q=Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&imgfile=&js=1&stats_click=search_radio_all%3A1&i

Python爬虫知识点——爬虫的基本原理

爬虫的基本原理 爬虫就是获取网页并提取和保存信息的自动化程序 获取网页: 获取网页就是获取网页的源码,只要把源码获取下来,就可以从中提取想要的消息 爬虫的流程:想网站的服务器发送一个请求,返回的响应体就是网页的源代码. ? ==>1,构造请求发送给服务器===>2.接受响应并解析 提取信息: 通过分析网页结构,提取网页信息.通常使用的解析库有:BeautifulSoup.lxml.pyquery,也可以使用正则,但是构造正则表达式比较复杂且易错 保存数据: 将提取的数据保存到某处以便后续利用.

Python爬虫知识点——响应

响应: 响应状态码.响应头.响应体 响应状态码: **表2-3常见的错误代码及错误原因** 状态码 说明 详情 100 继续 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 切换协议 请求者已要求服务器切换协议,服务器已确认并准备切换. 200 成功 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 201 已创建 请求成功并且服务器创建了新的资源. 202 已接受 服务器已接受请求,但尚未处理. 203 非授权信息 服务器已成功处理了请

Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续二)

一.URL分析 通过对“Python机器学习”结果抓包分析,有两个无规律的参数:_ksTS和callback.通过构建如下URL可以获得目标关键词的检索结果,如下所示: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksTS=1482325509866_2527&callback=jsonp2528&q=Python机器学习&imgfile=&js=1&stat

Python爬虫知识点——Chrome开发者工具Network

Chrome开发者工具中Network功能介绍 第一列Name:请求的名称,一般会将URL的最后一 部分内容当作名称. 第二列Status: 响应的状态码,这里显示为200,代表响应是正常的.通过状态码,我们可   以判断发送了请求之后是否得到了正常的响应. 第三列Type: 请求的文档类型.这里为document, 代表我们这次请求的是一个HTML文档,内容就是一些HTML代码. 第四列initiator: 请求源.用来标记请求是由哪个对象或进程发起的. 第五列Size: 从服务器下载的文件和