博客
关于我
学习爬虫前需要知道的知识
阅读量:775 次
发布时间:2019-03-24

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

网络爬虫是什么?它是模拟浏览器发送网络请求并接收响应的程序,按特定规则抓取互联网信息。简单来说,只要浏览器能做的事情,爬虫都能做。

网络爬虫有哪些分类呢?主要有通用爬虫和聚焦爬虫。通用爬虫通常用于搜索引擎,而聚焦爬虫则专门针对特定网站抓取信息。

网络爬虫的工作流程包括:向起始URL发送请求并获取响应,对响应内容提取信息,解析中提取新的URL继续抓取,以及提取数据保存。这些步骤构成了爬虫的基础操作流程。

robots协议又称为robots.txt,它是网站为搜索引擎设置的ACEL,这些规则可以限制爬虫访问网站的某些页面。已知淘宝和其他大型平台都有自己的robots协议。

HTTP和HTTPS又称为超文本传输协议和安全超文本传输协议。HTTP默认端口80,HTTPS默认端口443。HTML和CSS等资源通常通过HTTP传输,而HTTPS通过SSL加密,适用于安全敏感的数据传输。

HTTP请求流程开始于浏览器通过DNS获取目标IP,然后向服务器发起HTTP请求。在响应中,浏览器会发现多个URL(如图片、文件等),根据这些URL继续发起子请求。这整个过程称为浏览器渲染。

URL地址格式由几个部分组成:scheme://host[:port]/path/…/[?query-string][#anchor]。其中scheme是协议(如http、https),host是服务器IP或域名,port是端口,path是路径,query-string是查询参数,anchor是页内跳转锚点。

在HTTP协议中,常见的请求方式包括GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS和TRACE。每种方法的诚异性和适用场景不一。例如,GET用于获取数据,POST用于提交表单或文件上传,HEAD用于无响应内容获取标题信息。

HTTP请求添加常见的请求头,用于传递额外信息。例如,Cookie用于身份验证,User-Agent表示客户端类型,Referer记录跳转来源,Host指定访问服务器和端口。

HTTP响应格式包括状态行、消息报头、空行和响应正文。状态行开始于三位数字,如200表示成功,404表示资源不存在。常见的请求头如Location、Set-Cookie、Content-Type和Content-Length提供了响应的详细信息。

HTTP状态码分类为5种类型(1**、2**、3**、4**、5**),每种分类描述不同类错误或成功情况。例如,404错误提示资源不存在,500错误指向服务器内部错误。

HTTPS的作用是对数据进行加密,防止中间人攻击。它比HTTP安全但资源消耗更高。今天,HTTPS已接近主流,越来越多应用要求HTTPS支持。

HTTP与HTTPS的优缺点明显。HTTP性能优越但安全性差,HTTPS相反高安全性但资源占用大。当前,HTTPS已成为主流,现代应用普遍要求HTTPS接口支持。

转载地址:http://bhhkk.baihongyu.com/

你可能感兴趣的文章
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 八大排序算法合集
查看>>
python 关于epoll的学习
查看>>
Python 内存管理
查看>>
Python 内嵌函数:它们有什么用处?
查看>>
Python 内置 sum 函数 vs. for 循环性能
查看>>
python 内置slice的用法
查看>>