爬虫的基础
1、先介绍一下啥是爬虫
在这我也就不扯啥嘴皮子了,简单讲 爬虫就是将前端网页上的数据通过一定的方式爬取下来
一般爬虫可以分为 通用爬虫 和 聚焦爬虫 两种:
通用爬虫:通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。
聚焦爬虫:是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。
2、浏览器发送http的请求过程
众所周知,爬虫的前提就是先能正常访问到你要爬的网站,不出现各种403请求被拒,404找不到网页等报错,那么怎么避免呢?
首先我们要了解一下浏览器发送请求的过程,
发送请求的方式一般分为两种:
Get
Post
Get请求 主要是用来向网页请求获取到数据,获取到的数据主要是展示给你看的,就比如我们打开淘宝这个网站,它给你呈现出来的各个商品就是你通过Get请求访问出来的
而Post请求 主要是用来给网页发送数据,就好比 淘宝的登陆,你输入 账号密码后 点击登陆的时候,就会向网页发送一个Post请求,网页通过你给它发送的这个账号和密码来决定给不给你登陆账号
3、http请求携带的数据
知道了http请求的两种常用情况之后,再说说请求的时候到底是如何携带数据的
首先你可以随便打开一个网页,比如:www.baidu.com,打开之后,按一下f12,打开后台管理系统:
你可以看看不同网站的headers都是不一样的,百度比较亲近人意,基本没有什么headers数据,以后爬它数据的时候就可以简单很多,之后如果有一些网站爬不到数据,就可能是网站验证了 你发送请求里面的headers数据,如果网站验证的数据里面你有一个是没有给他发送过去的,你就有可能获取不到数据,
比如网站可能校验了一下 ‘cookie’,而你正巧发送的请求中没有携带‘cookie’,那么网站就有可能给你报 403等错误,让你获取不到数据
爬虫最基础要了解的就是这些,其实这都不算什么,最重要的就是一句话:
不会就百度,轻轻松松出困境