hi!

爬虫基础知识大全(一)

上一篇 / 下一篇  2021-10-11 13:35:13 / 个人分类:技术基础类

一 什么是爬虫
 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程。


二 爬虫的分类
 1.通用爬虫: 简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。 

 2.聚焦爬虫:聚焦爬虫是根据指定的需求抓取网络上指定的数据。例如:获取豆瓣上电影的名称和影评,而不是获取整张页面中所有的数据值。

 
三 反爬虫
 - 门户网站通过相应的策略和技术手段,防止爬虫程序进行网站数据的爬取。


四 反反爬虫
 - 爬虫程序通过相应的策略和技术手段,破解门户网站的反爬虫手段,从而爬取到相应的数据。


五 HTTP协议
1 概念
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

2 特点
HTTP基于TCP/IP协议:http协议是基于TCP/IP协议之上的应用层协议。
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是基于请求-响应模式:HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。
HTTP是无状态保存:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

3 HTTP之URL
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息。

例子解析:http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

协议部分:该URL的协议部分为“http:”;
域名部分:该URL的域名部分为“www.aspxfans.com”;
端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符;
虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”
文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。
锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分。
参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
 
4 HTTP之Request

常见的请求头(报文体):
accept:浏览器通过这个头告诉服务器,他支持的数据类;
Accept-Charset:浏览器通过这个告诉服务器,他锁支持的字符集;
Accept-Encoding:浏览器通过这个告诉服务器,他支持的压缩格式;
Accept-Language:浏览器通过这个告诉服务器,他的预言环境;
Host:浏览器通过这个告诉服务器,像访问那台主机;
If-Modified-Since:浏览器通过这个头告诉服务器,缓存数据的时间;
Referer:浏览器通过这个头告诉服务器,客户机是从哪个页面来的(防盗链);
Connection:浏览器通过这个头告诉服务器,请求完后是断开连接还是维持连接;
X-Requested-With:XMLHttpResquest 代表通过ajax方式进行访问的;
User-Agent:请求载体的身份标识。

5 HTTP之Response

常见的响应头信息:
Location:服务器通过这个头,来告诉浏览器跳转到哪里;
Server:服务器通过这个头,告诉路浏览器服务器的型号;
Content-Encoding:服务器通过这个头,告诉浏览器数据压缩的格式;
Content-Length:服务器通过这个头,告诉浏览器会送数据的长度;
Content-Language:服务器通过这个头,告诉浏览器语言环境;
Content-Type:服务器通过这个头,告诉浏览器回送数据的类型;
Refresh:服务器通过这个头,告诉浏览器定时刷新;
Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打开数据;
Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以块方式回送的;
Expires:-1 控制浏览器不要缓存;
Cache-Control:no-cache
Pragma: no-cache
 
 响应状态码

 
 

TAG:

 

评分:0

我来说两句

wphisme

wphisme

奋斗吧少年!

日历

« 2021-12-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 8390
  • 日志数: 19
  • 文件数: 1
  • 建立时间: 2019-01-14
  • 更新时间: 2021-11-26

RSS订阅

Open Toolbar