2021-01-28

爬虫介绍

什么是爬虫?

  • 简单一句话就是代替人去模拟浏览器进行网页操作

为什么需要爬虫?

  • 为其他程序提供数据源 如搜索引擎(百度、Google等)
  • 数据分析、大数据等等
  • AI人工智能(有脸识别,智能家居、无人驾驶、智能导航……)
    要达到这些Python技术一定非常高,数学、算法、数据分析能力等

企业获取数据的方式?

  • 1.公司自有的数据
  • 2.第三方平台购买的数据
     。免费的大数据平台 如百度指数
     。付费的大数据平台 如数据堂、贵阳大数据交易所
  • 3.爬虫爬取的数据

Python 做爬虫的优势

  • PHP : 对多线程、异步支持不太好
  • Java : 代码量大,代码笨重
  • C/C++ : 代码量大,难以编写
  • Python : 支持模块多、代码简介、开发效率高 (scrapy框架)

爬虫的分类

  • 通用网络爬虫 各大搜索引擎 例如 baidu google yahu
  • 聚焦网络爬虫: 根据既定的目标有选择的抓取某一特定主题内容

三、几个概念

GET和POST

  • GET : 查询参数都会在URL上显示出来,一般情况下,只是从服务器上获取数据,没有对服务器造成影响,这种方式就是一个get请求
  • POST : 查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出,POST请求对服务器有影响

URL组成部分

  • URL: 全球统一资源定位符

  • https://new.qq.com/omn/TWF20200/TWF2020032502924000.html

  • https: 协议

  • new.qq.com: 主机名,可以理解为一台主机名叫 news.qq.com 。这台主机在 qq.com 这个域名下

  • port 端口号: 80 /new.qq.com 在他的后面有个 :80 可以省略

  • TWF20200/TWF2020032502924000.html 访问资源的路径

  • anchor: 锚点用前端在做页面定位的

  • 注意 : 在浏览器请求一个url,浏览器会对这个url进行一个编码。(除英文字母、数字和部分标识其他的全部使用% 加 十六进制码进行编码)

  • 例如 : https://tieba.baidu.com/f?ie=utf-8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search

  • %E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王

User-Agent 用户代理

  • 作用:记录用户的浏览器、操作系统等,为了让用户更好的获取HTML页面效果

  • User-Agent:
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

  • 反反爬的第一步

Referer

  • 表明当前这个网址是从哪个url过来的。一般情况下可以用来做反爬的技术

cookie记录了与服务器相关的用户信息

* http协议是无状态的 什么是无状态 服务器无法判断用户的身份

  • cookie实际上是一小段文本信息(ley-value格式)
  • 反反爬 例如12306 百度
  • 作用 反爬 模拟登录

状态码

  • 200 : 请求成功
  • 301 : 永久重定向
  • 302 : 临时重定向
  • 404 : 请求失败(服务器无法根据客户端的请求找到资源(网页))
  • 500 : 服务器内部请求

抓包工具

image.png
  • Elements : 元素 网页源代码,提取数据和分析数据页面(有些数据是经过特殊处理的所以并不是都是准确的)
  • Console : 控制台 (打印信息,用的不多)
  • Sources : 信息来源 (整个网站加载的文件)
  • NetWork : 网络工作(信息抓包) 能够看到很多的网页请求

你可能感兴趣的:(2021-01-28)