Python爬虫入门 ~ 爬虫相关概念(一)

84 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情

什么是互联网爬虫?

如果我们把物联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蛛网抓去自己想要的数据。

  • 通过一个程序,根据url进行爬取网页,获取有用信息
  • 使用程序模拟浏览器,去向服务器发送请求,获取响应信息

爬虫的核心

  1. 爬取网页:爬取整个网页,得到网页中所有的内容
  2. 解析数据:将网页中所需的数据进行解析
  3. 难点:爬虫和反爬虫之间的博弈

爬虫的用途

  • 数据收集/数据分析
  • 社交软件冷启动
  • 舆情监控
  • 竞争对手监控

爬虫的分类

  1. 通用爬虫

    1. 实例:百度、360、google、sougou等搜索引擎
    2. 功能:访问网页 → 抓取数据 → 数据存储 → 数据处理 → 提供检索服务
    3. robots协议:约定俗成等协议,添加robots.txt文件来说明哪些内容不可以被抓取
    4. 网站排名(SEO):根据pagerank算法进行排名(参考网站流量、点击率等指标)
    5. 缺点:抓取的数据大多是无用的,无法根据需求精准获取数据
  2. 聚焦爬虫

    1. 功能:根据需求,实现爬虫程序,定向抓取需要的数据

    2. 设计思路

      1. 确定要爬取的url
      2. 模拟浏览器通过http协议访问url,获取服务器返回的html代码
      3. 解析html字符串,提取需要的数据

反爬方式

  1. User-Agent

    User Agent中文名为用户代理,简称UA,他是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

  2. 代理IP

    1. 透明代理:对方服务器可以指定你使用了代理,并且也知道你的真实IP
    2. 匿名代理:对方服务器可以知道你使用了代理,但不知道真实IP
    3. 高匿名代理:对方服务器不知道你使用了代理,也不知道真实IP
  3. 验证码访问

  4. 动态加载网页

    网站返回的是js数据,并不少网页但真实数据,可以通过selenium驱动模拟真实的浏览器发送请求

  5. 数据加密

    可以通过分析js代码解密