博客
关于我
学习爬虫前需要知道的知识
阅读量: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/

你可能感兴趣的文章
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>