——学习自B站《2020年Python爬虫全套课程(学完可做项目)》课程

1、定义
爬虫:通过编写程序,模拟浏览器上网,让其去互连网上抓取数据的过程。
2、爬虫是否合法?

  • 在法律中是不被禁止
  • 具有违法风险的(爬虫干扰了被访问网站的正常运营;爬虫抓取了受到法律保护的特定类 型的数据或信息)
  • 善意爬虫&恶意爬虫

3、如何避免违法爬虫?

  • 时常优化自己程序,避免干扰被访问网站的正常运行;
  • 使用、传播抓取到的数据时,审查抓取到的内容,如果发现了涉及到用户隐私、商业机密等敏感内容需要及时停止抓取或传播。

4、爬虫在使用场景中的分类:

  • 通用爬虫:抓取的是一整张页面的数据。
  • 聚焦爬虫:抓取的是页面中特定的局部内容。
  • 增量式爬虫:检测网站中数据更新的情况,只抓取网站中最新更新出来的数据。

5、robot协议
规定了哪些数据可以查询,哪些不可以
访问方式:在网站名后加/robot.txt即可。

6、http协议(无数据加密)
常用请求头信息:

  • User-Agent:请求载体的身份标识(获取方式:打开浏览器-右键:检查-网络-打开网络链接-all-选择对应的包-请求消息头处可找到)包括了当前使用浏览器的版本之类的信息。
  • Connection:请求完毕后是断开链接还是保持链接。
    常用响应头信息:
    Content-Type:服务器响应回客户端的数据类型

7、https协议——安全的超文本传输协议(涉及数据加密)
加密方式:

  • 对称密钥加密:客户端对信息加密,密文和密钥一起发给服务器端(隐患:密钥和密文有可能被第三方机构拦截)
  • 非对称密钥加密:服务器端发加密方式和公钥给客户端,客户端根据该方式进行加密,再将密文发给服务器端,服务器端使用私钥进行解密(隐患:客户端拿到的公钥有可能是被第三方篡改后的)
  • 证书密钥加密:服务器端把公钥提交到证书认证机构进行审核并进行数字签名(防伪),机构将证书发给客户端,客户端进行加密后发给服务器端,服务器端私钥解密。