返回顶部
首页 > 资讯 > 后端开发 > Python >Python爬虫基础讲解之请求
  • 113
分享到

Python爬虫基础讲解之请求

2024-04-02 19:04:59 113人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、请求目标(URL)二、网址的组成:三、请求体(response)四、请求方法(Method)五、常用的请求报头六、requests模块查看请求体一、请求目标(URL) URL

一、请求目标(URL)

URL又叫作统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址的一种方法。类似于windows的文件路径。

二、网址的组成:

1.Http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。

2.mail:这个是服务器名,代表着是一个邮箱服务器,所以是mail。

3.163.com:这个是域名,是用来定位网站的独一无二的名字。

4.mail.163.com:这个是网站名,由服务器名+域名组成。

5./:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录。

6.index.html:这个是根目录下的网页。

7.http://mail.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。

三、请求体(response)

就像打电话一样,HTTP到底和服务器说了什么,才能让服务器返回正确的消息的,其实客户端的请求告诉了服务器这些内容:请求行、请求头部、空行、请求数据

四、请求方法(Method)

HTTP请求可以使用多种请求方法,但是爬虫最主要就两种方法:GETPOST方法。

get请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会使用get请求。

post请求:向服务器发送数据(登录)、上传文件等,会对服务器资源产生影响的时候会使用
post请求。

以上是在网站开发中常用的两种方法。并且一般情况下都会遵循使用的原则。但是有的网站和服务器为了做反爬虫机制,也经常会不按常理出牌,有可能一个应该使用get方法的请求就一定要改成post请求,这个要视情况而定。

GET与POST方法的区别:

1.GET是从服务器上获取数据,POST是向服务器传送数据

2.GET请求参数都显示在浏览器网址上,即Get"请求的参数是URL的一部分。例如: http://www.baidu.com/s?wd=Chinese

3.POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据。请求的参数类型包含在"Content-Type"消息头里,指明发送请求时要提交的数据格式。

注意:

网站制作者一般不会使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。并且浏览器会记录历史信息,导致账号不安全的因素存在。

五、常用的请求报头

请求头描述了客户端向服务器发送请求时所使用的编码,以及发送内容的长度,告诉服务器自己有没有登陆,采用的什么浏览器访问的等等。

1.Accept:浏览器告诉服务器自己接受什么数据类型,文字,图片等。

2.Accept-charset:浏览器申明自己接收的字符集。

3.Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip, deflate,br)。

4.Accept-Language:浏览器申明自己接收的语言。

5.Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。

6.content-Length表示请求消息正文的长度。

7.origin:声明请求资源的起始位置

8.connection:处理完这次请求后,是断开连接还是继续保持连接。9.Cookie:发送给WEB服务器的Cookie内容,经常用来判断是否登陆了。

9.Cookie:发送给WEB服务器的Cookie内容,经常用来判断是否登陆了。

10.Host:客户端指定自己想访问的WEB服务器的域名/IP地址和端口号。

11.If-Modified-since:客户机通过这个头告诉服务器,资源的缓存时间。只有当所请求的内容在指定的时间后又经过修改才返回它,否则返回304"Not Modified"应答。

12.Pragma:指定"no-cache"值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。

13.Referer:告诉服务器该页面从哪个页面链接的。

14.From∶请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。

15.(user-Agent:浏览器表明自己的身份(是哪种浏览器)

16.upgrade-insecure-requests∶申明浏览器支持从http请求自动升级为https请求,并且在以后发送请求的时候都使用https。

UA-Pixels,uA-Color,uA-oS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPu类型。

六、requests模块查看请求体

在我们用requests模块请求数据的时候携带上诉请求报头的字段信息,将我们的爬虫代码进行伪装。同样的伪装之后我们也可以通过代码查看请求体的字段信息,有如下几种常见的属性:


#查看请求体中的url地址
response.request.url
#查看请求体中的请求头信息
response.request.headers
#查看请求体中的请求方法
response.request.method

到此这篇关于python爬虫基础讲解之请求的文章就介绍到这了,更多相关python请求内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python爬虫基础讲解之请求

本文链接: https://lsjlt.com/news/125870.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python爬虫基础讲解之请求
    目录一、请求目标(URL)二、网址的组成:三、请求体(response)四、请求方法(Method)五、常用的请求报头六、requests模块查看请求体一、请求目标(URL) URL...
    99+
    2024-04-02
  • Python爬虫基础之请求的示例分析
    小编给大家分享一下Python爬虫基础之请求的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、请求目标(URL)URL又叫作统一资源定位符,是用于完整地...
    99+
    2023-06-15
  • Python爬虫基础讲解之scrapy框架
    网络爬虫 网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人。大型的爬虫程序被广泛应用于搜索引擎、数据挖掘等领域,个人用户或企业也可以利用爬虫收集对自身有价值的数据。 一个网络爬虫程序的基...
    99+
    2022-06-02
    Python scrapy框架 Python爬虫框架
  • Python之爬虫基础
    网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫...
    99+
    2023-08-31
    python 爬虫 开发语言
  • Python爬虫之网络请求
    目录1.IP代理2.Cookie3.异常处理 1.IP代理 某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一...
    99+
    2024-04-02
  • C#爬虫基础之HttpClient获取HTTP请求与响应
    一、概述 Net4.5以上的提供基本类,用于发送 HTTP 请求和接收来自通过 URI 确认的资源的 HTTP 响应。 HttpClient是一个高级 API,用于包装其运行的每个平...
    99+
    2024-04-02
  • python基础之爬虫入门
    目录前言一、简单静态网页的爬取1.1 选取爬虫策略——缩略图1.2 选取爬虫策略——高清大图二、动态加载网站的爬取2.1 选取爬虫策略——selenium2.2 选取爬虫策略——ap...
    99+
    2024-04-02
  • python爬虫之『入门基础』
    1.首先需要了解一下http请求,当用户在地址栏中输入网址,发送网络请求的过程是什么? 可以参考我之前学习的时候转载的一篇文章一次完整的HTTP事务过程–超详细 2.还需要了解一下http的请求方式 有兴趣的同学可以去查一下http的八...
    99+
    2023-01-31
    爬虫 入门 基础
  • Python爬虫入门:爬虫基础了解
    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫入门(5):URLError异常...
    99+
    2023-01-30
    爬虫 入门 基础
  • python爬虫之请求模块urllib的基本使用
    目录前言urllib的子模块HttpResponse常用方法与属性获取信息urlli.parse的使用(一般用于处理带中文的url)✅爬取baidu官网HTML源代码✅添加请求头信息...
    99+
    2024-04-02
  • 【Python】爬虫基础
    爬虫是一种模拟浏览器实现,用以抓取网站信息的程序或者脚本。常见的爬虫有三大类: 通用式爬虫:通用式爬虫用以爬取一整个网页的信息。 聚焦式爬虫:聚焦式爬虫可以在通用式爬虫爬取到的一整个网页的信息基础上只选取一部分所需的信息。 增量式爬虫:增量...
    99+
    2023-09-14
    python 爬虫 数据挖掘
  • python爬虫基础
    Note:一:简单爬虫的基本步骤1.爬虫的前奏: (1)明确目的 (2)找到数据对应的网页 (3)分析网页的结构,找到数据的位置2.爬虫第二步:__fetch_content方法 模拟HTTP请求,向服务器发送这个...
    99+
    2023-01-30
    爬虫 基础 python
  • Python爬虫基础之requestes模块
    一、爬虫的流程 开始学习爬虫,我们必须了解爬虫的流程框架。在我看来爬虫的流程大概就是三步,即不论我们爬取的是什么数据,总是可以把爬虫的流程归纳总结为这三步: 指定 url,可以简单的理解为指定要爬取的网址 发送请求。...
    99+
    2022-06-02
    Python requestes模块 python爬虫
  • Python爬虫基础之初次使用scrapy爬虫实例
    项目需求 在专门供爬虫初学者训练爬虫技术的网站(http://quotes.toscrape.com)上爬取名言警句。 创建项目 在开始爬取之前,必须创建一个新的Scrapy项目。进入您打算存储代码的目录中,运行下列...
    99+
    2022-06-02
    Python scrapy框架 Python爬虫
  • Python爬虫基础之爬虫的分类知识总结
    目录一、通用爬虫二、搜索引擎的局限性三、Robots协议四、请求与相应一、通用爬虫 通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目...
    99+
    2024-04-02
  • Python爬虫之网络请求实例分析
    本篇内容介绍了“Python爬虫之网络请求实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.IP代理某些网站会检测一段时间内某IP的...
    99+
    2023-06-30
  • Python爬虫-02:HTTPS请求与
    目录 1. HTTP和HTTPS 1.1. HTTP的请求和响应流程:打开一个网页的过程 1.2. URL 2. ...
    99+
    2023-01-30
    爬虫 Python HTTPS
  • python爬虫#网络请求request
    中文文档 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功...
    99+
    2023-01-30
    爬虫 网络 python
  • Python爬虫基础之selenium库怎么用
    小编给大家分享一下Python爬虫基础之selenium库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、selenium简介官网总的来说: seleni...
    99+
    2023-06-15
  • Python网络爬虫之Web网页基础
    目录⭐️Web网页基础🌟1.网页的组成✨HTML✨CSS✨JavaScript🌟2.网页的结构🌟3.节点树和节点间的关系🌟4.选择器🌟5.总结⭐️Web网页基础 我们在学习爬虫之前,...
    99+
    2023-05-15
    Python网络爬虫Web网页基础 Python网络Web网页基础 Python Web网页基础
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作