HTTP请求

1.首先需要了解一下http请求,当用户在地址栏中输入网址,发送网络请求的过程是什么?

可以参考我之前学习的时候转载的一篇文章一次完整的HTTP事务过程–超详细

2.还需要了解一下http的请求方式

有兴趣的同学可以去查一下http的八种请求方法,这里呢主要说下get请求和post请求,这两种在以后学习中会用到的比较多。

get请求:GET方法用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。我们输入网址访问网站一般就是get请求。[做运维的小年轻]使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。
优点:比较便捷
缺点:由于是明文传输,所以安全性比较低,另外参数长度有限制。

post请求:POST请求通常是使用来提交HTML的表单,表单中的数据传输到服务器,由服务器对这些数据处理。我们平常执行登录操作的那一下基本上都是post请求。
关于get请求和post请求区别优缺点这里推荐一篇博文:http GET 和 POST 请求的优缺点、区别以及误区

下面说一下Headers中的Request Headers(请求头信息),

Accept:指定客户端能够接收的内容类型,图中text/html表示要请求返回文本格式的数据

Accept-Encoding:指定浏览器可以支持的web服务器返回内容压缩编码类型,图中gzip表示支持gzip格式的压缩文件

Accept-Language:浏览器可接受的语言 图中 zh-CN表示接受中文

Connection:表示是否需要持久连接。(HTTP 1.1默认进行持久连接)图中keep-alive意为保持长链接

Cookie:是服务器发送到浏览器并保存在本地的一小块数据,存储在header中,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上,通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。

Host:指定请求的服务器的域名和端口号,图中是www.baidu.com也就是我在地址栏中请求的网址

User-Agent:包含的是发出请求的用户信息,客户机的软件环境浏览器类型等

Response Header 和Request Headers对应,如下图

了解完这些呢,就来看下爬虫吧

关于爬虫

爬虫通俗来说,就是使用代码模拟用户,批量发送网络请求,批量的获取数据

爬虫的的分类

1.通用爬虫:搜索引擎的爬虫

优势:开放性很好,速度比较快

劣势:目标不明确,举个例子哈,例如我在百度搜索图片,搜索结果如下图,我想要的是图片,但是看下图红色方框所圈的内容并不是我们所要找的图片资源,这就是我所说[做运维的小年轻]的目标不明确,导致的结果呢就是返回的很多内容并不是用户所需要的。

2.聚焦爬虫:全称聚焦网络爬虫,又称为主题网络爬虫
优点:目标明确,对用户的需求非常精准,返回内容很固定,比如我就请求一张图片,那么就返回一张图片。

关于爬虫的分类其实在以后越来越深入的学习中,会自然而然的理解,现在只需有个大概了解就行了关于网络爬虫分类日百度百科中讲的比较详细,点击传送门去了解。

python爬虫之『入门基础』的更多相关文章

  1. 0.Python 爬虫之Scrapy入门实践指南(Scrapy基础知识)

    目录 0.0.Scrapy基础 0.1.Scrapy 框架图 0.2.Scrapy主要包括了以下组件: 0.3.Scrapy简单示例如下: 0.4.Scrapy运行流程如下: 0.5.还有什么? 0. ...

  2. 小白学 Python 爬虫(34):爬虫框架 Scrapy 入门基础(二)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 小白学 Python 爬虫(35):爬虫框架 Scrapy 入门基础(三) Selector 选择器

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. 小白学 Python 爬虫(36):爬虫框架 Scrapy 入门基础(四) Downloader Middleware

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. 小白学 Python 爬虫(37):爬虫框架 Scrapy 入门基础(五) Spider Middleware

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  6. 小白学 Python 爬虫(38):爬虫框架 Scrapy 入门基础(六) Item Pipeline

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 爬虫(40):爬虫框架 Scrapy 入门基础(七)对接 Selenium 实战

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  8. 小白学 Python 爬虫(41):爬虫框架 Scrapy 入门基础(八)对接 Splash 实战

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. Python爬虫的简单入门(一)

    Python爬虫的简单入门(一) 简介 这一系列教学是基于Python的爬虫教学在此之前请确保你的电脑已经成功安装了Python(本教程使用的是Python3).爬虫想要学的精通是有点难度的,尤其是遇 ...

随机推荐

  1. Linux/Mac vi命令详解

    刚开始学着用Linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

  2. iOS开发——根据数组中的字典中的某一元素排序

    数组中的元素是字典,字典中的某一个元素,比如说姓名,现在需要按照姓名的首字母来排序,怎么搞? 做法很简单,在字典中加一个元素,保存姓名的首字母,然后用下面的方法排序. - (void)sortWifi ...

  3. sysctl---内核参数相关设置

    sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中.它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能 ...

  4. P4287 [SHOI2011]双倍回文(回文树)

    题目描述 记字符串 w 的倒置为 w^R^ .例如 (abcd)^R^=dcba , (abba)^R^=abba . 对字符串x,如果 x 满足 x^R^=x ,则称之为回文:例如abba是一个回文 ...

  5. WHU 1538 Stones II 动态规划

    赛后写的,动态规划,学长和题解,提供了两种状态设计的思路,都写了下……结果在写第二种的时候,不小心把下标的起点写错了,导致WA了无数发…… 无奈啊……每次都是这种错误…… 题意: 大概就是有n块石头, ...

  6. HTML学习----------DAY1 第二节

    使用 Notepad 或 TextEdit 来编写 HTML 可以使用专业的 HTML 编辑器来编辑 HTML: Adobe Dreamweaver Microsoft Expression Web ...

  7. python list的+,+=,append,extend

    面试题之中的一个. def func1(p): p = p + [1] def func2(p): p += [1] p1 = [1,2,3] p2 = [1,2,3] func1(p1) func2 ...

  8. c++动态库中使用命名空间的问题

    这是C++才会有的语言特性. 假如你使用一个程序库,他里面有桓霰淞拷衋bc,可是你自己也不小心定义了一个叫abc的变量,这样就会引起重定义错误.所以为了避免这样的现象,C++引入了名字空间(names ...

  9. 火狐浏览器设置bypass

    http://blog.sina.com.cn/s/blog_6f7d179e0101a60l.html 某个网段不使用代理的设置FF和IE不同,IE是用*通配符,FF是用CIDR的表示法, FF的简 ...

  10. 29.AngularJS 简介

    转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 H ...