网络爬虫理论——网络爬虫入门认知

网络入门爬虫认知

网络爬虫:模拟浏览器上网流程,自动地抓取万维网信息的程序或者脚本

  • 数据挖掘:抓取互联网上的数据
  • 法律认知:法律合法,在使用中有违法的风险

1.爬虫分类

  • 善意爬虫:爬取公开信息,且不运行服务器运行
  • 恶意爬虫:
    1.干扰被访网站的运行
    2.爬取被法律保护的信息

2.防止违法风险

1.优化程序避免干扰被访问网站的正常运行
2.审查采取内容:用户隐私,商业秘密等敏感内容,停止爬取与传播。

  • 个人隐私数据:如姓名,手机号等不能爬取
  • 明确禁止他人访问的数据:设置了用户密码加密的不能商业用途/或爬取

3.爬虫分类

(1)通用爬虫

通用爬虫:抓取互联网页面全部信息

  • 1.该类适合搜索广泛主题
  • 2.深度优先:按照深度由底到高,依次访问下一级,直到无法访问。
  • 3.广度优先: 按照网页内容目录的深浅,由浅层到深的爬取。当同一层爬行完毕后才进入下一次。

(2)聚焦爬虫

聚焦爬虫:抓取互联网页面特点内容

  • 1.基于内容评价的爬行:以输入的查询词为主题,包含该查询词页面视为与主题相关页面
  • 2.基于链接结构评价的爬行: 较为广泛的
  • 3.基于增强学习的爬行: 利用结构特征来评价页面和链接的重要性
  • 4.基于语境图的爬行: 通过建立语境图学习网页之间的相关度的爬行策略

(3)增量式爬虫

增量式爬虫:检测网站更新情况,对已下载网页采取增量式更新,只爬取新产生以及发生变化的网页

  • 1.统一更新法: 以相同的频率访问所有网页,不受网页频率改变的影响
  • 2.个体更新法: 根据个体网页的改变重新决定频率
  • 3。基于分类的更新法: 根据网页更新的快慢来设定不同的频率来访问

4.反爬机制与反反爬策略

  • 反爬机制:门户网站,通过相应的策略和技术手段,防止爬取
  • 反反爬策略:过相应的策略和技术手段,破解门户网站反爬机制,获取数据
    • 1.通过User-Agent进行筛选用户反爬

      • 爬虫应对: 伪装USER-Agent
    • 2.通过访问频率反爬

      • 爬虫应对: 测试网站频率阀值,设置访问频率略低于阀值
    • 3.通过验证码反爬

      • 爬虫应对: 使用IP代理更换爬虫IP,通过算法识别验证码,使用cookle绕过依照验证码
    • 4.通过改变网络结构反爬

      • 爬虫应对: 使用脚本进行监测,在发现变换时发出警告并停止爬取
    • 5.通过账号权限反爬

      • 爬虫应对: 通过代理IP规避监测

5.robots.txt协议

君子协议:给出那些数据不可爬取的网络爬虫的道德限制协议
robots.txt样例

User-ahent:*   
Disallow:/
Allow:/public/ 

User-ahent: 搜索爬虫的名称
Disallow: 指定了不允许爬取的目录
Allow:Disallow 和用用来排除限制

robots.txt不可爬取的样例

User-agent:*
Disallow:/

robots.txt可爬取的样例

User-agent:*
Disallow:
posted @ 2020-11-30 16:58  唐某人-python  阅读(277)  评论(0)    收藏  举报