什么是爬虫?
通过编写程序模拟浏览器上网,让其去互联网上抓取数据的过程。
爬虫的价值?
抓取到的数据可以作为一种资产,用来产品化、商业化
利好就业
爬虫的合法性?
在法律中是不被禁止的,但具有违法风险。
爬虫带来的风险有,干扰了被访问网站的正常运营或抓取到了受到法律保护的特定数据或信息
如何在编写爬虫的过程中避免进局子?
时常优化自己的程序,避免干扰被访问网站的正常运行
在使用、传播爬取到的数据时,审查抓取到的内容,如果发现了涉及用户隐私、商业机密等敏感内容需要及时停止爬取或传播。
爬虫在使用场景中的分类:
通用爬虫:
抓取系统重要组成部分。抓取的是一整张页面的数据。
聚焦爬虫:
建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容。
增量式爬虫:
监测网站中数据更新的情况,只会抓取网站中最新更新出来的数据。
爬虫的矛与盾:
因为一些利益,网站自己想被爬取,但又怕竞争对手的恶意爬取会损害自己的利益,所以有时候又不想被爬取。
反爬机制:
门户网站,可以通过制定相应的策略或技术手段,防止爬虫程序进行网站数据的爬取。
反反爬策略:
爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站的信息。
robots.txt协议:
君子协议。规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取。但是没有强制性,靠自觉,所以叫君子协议。
爬取了不被允许的数据被发现了就要承担相应的法律责任。
http协议:
概念:就是服务器和客户端进行数据交互的一种形式。(相当于人与人之间通过语言进行沟通)二者只要遵从这个协议就可以顺利地进行沟通。
常用请求头信息:
User-Agent:请求载体的身份标识 (用于自己写的程序伪装成浏览器去爬取网页内容),不同浏览器的不一样。
Connection:请求完毕后,是断开连接还是保持连接。
常用响应头信息:
Content-Type:服务器响应回客户端的数据类型。
https协议:
安全的http(超文本传输协议)
加密方式:
对称密钥加密:客户端会对一些信息加密,之后把密文和密钥一起发送给服务器,服务器解密后就会得到原文。安全隐患是很有可能被第三方拦截捕获。
非对称密钥加密:首先服务器先向客户端发送公钥,客户端将信息加密后发送给服务器,服务器通过私钥进行解密,得到原文。但是这样效率低,且公钥可能会被篡改。
证书密钥加密:加入一个服务器端和客户端都信任的证书认证机构,机构给公钥配上极难伪造的证书的数字签名,防止公钥被篡改。