网络爬虫基础知识必知必会

什么是网络爬虫?

网络爬虫又称网页蜘蛛,网络机器人,是一种按照一定规则,自动请求万维网网站并且提取网页信息的程序或脚本

爬虫可以分为几类

  • 按照使用场景分类
    • 通用爬虫: 一般都是搜索引擎,爬取范围大,种类多
    • 聚焦爬虫:面向指定的网站,更加具有针对性,也是平常我们写的爬虫
  • 按照爬取形式分类
    • 积累式爬虫:一般用于数据集合的整体建立或大规模更新阶段
    • 增量爬虫 :用于对数据集合的日常维护与更新
  • 按照爬取数据的存在方式
    • 表层爬虫:一般是爬取直接看到的静态页面
    • 深层爬虫 :爬取的数据是隐藏的,不能直接看到的,数据需要提交表单以后才能爬取

法律风险

  • 爬虫干扰了被访问网站的正常运营;
  • 爬虫抓取了受到法律保护的特定类型的数据或信息。
  • 爬取个人信息、隐私,

Robots协议

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots ExclusionProtocol),是一种网届通行的道德规范,围绕搜索技术应服务于人,同时尊重信息提供者的意愿,并维护其隐私权;网站有义务保护其使用者的个人信息和隐私不受侵犯。
网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取. 根据协议,网站管理员可以在网站域名的根目录下放一个robots.txt 文本文件,里面可以指定不同的网络爬虫能访问的页面和禁止访问的页面,指定的页面由正则表达式表示。 网络爬虫在采集这个网站之前,首先获取到这个文件,然后解析到其中的规则,然后根据规则来采集网站的数据。 注意,这个协议的存在更多的是需要网络爬虫去遵守,而起不到防止爬虫的功能。

避免风险:

  • 严格遵守网站设置的robots协议;
  • 在规避反爬虫措施的同时,需要优化自己的代码,避免干扰被访问网站的正常运行;
  • 在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除

爬虫伪装

  • 设置User-Agent
    • User-Agent是HTTP协议中的一个字段,其作用是描述发出HTTP请求终端的信息(操作系统版本,浏览器及其版本)服务器可以通过这个字段检测访问的网站是否是真用户,网络爬虫的User-Agent是固定的,服务器能够识别出来,所以在伪装爬虫的时候可以将爬原来的User-Agent设置成平常用户使用的User-Agent
  • 使用代理IP
    • 网站可以根据某个时间段内IP访问的次数来判断是否为爬虫,毕竟真实的用户的访问频率没有那么快,当IP被封以后,就不能正常的继续访问 。遇到这种情况可以采用代理IP进行解决,代理IP就是介于用户和服务器之间的的第三方,流程就是,爬虫将自己要要发送的请求交给代理IP,然后代理IP就再向服务器发请求,可以同时拥有多个代理IP,这样降低单个IP的频率,也可以快速爬取数据
  • 降低访问频率
    • 如果自己没有代理IP,那就降低爬取频率,减小服务器的压力

你可能感兴趣的:(爬虫,爬虫,python,开发语言)