入坑爬虫(一)爬虫的基本概念

什么是爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.

原则上来说,只要是浏览器(客户端)能做的事情,爬虫都能够做.

爬虫的分类和流程

  • 根据被爬网站的数量的不同,我们把爬虫分为:

    通用爬虫 :通常指搜索引擎的爬虫(百度, 谷歌, 360等)

    聚焦爬虫 :针对某种需求针对特定网站的爬虫

爬虫的流程

这里写图片描述

  • 向起始url发送请求,并获取响应.
  • 对响应进行提取.
  • 如果提取url, 则继续发送请求获取响应.
  • 如果提取数据, 则将数据进行保存.

robots协议

Robots协议: 网站通过Robots协议告诉搜索引擎哪些页面可以抓取, 那些页面不能抓取,但它仅仅是互联网中的一种约定.
robots协议一般是在网站的根目录下.
例如京东的robots协议: https://www.jd.com/robots.txt

http和https的概念

在学习爬虫之前,我们需要对HTTP协议和网络请求有初步的认识.

  • HTTP
    超文本传输协议
    默认端口号:80
  • HTTPS
    HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议
    默认端口号:443
    HTTPS比HTTP更安全,但是性能更低

浏览器发送HTTP请求的过程

url -> 统一资源定位符(可以理解为网址)
1. 当我们在浏览器的地址栏中输入某个网址,敲下回车时,浏览器会向地址栏中的url发起请求, 并获取响应.
2. 在返回的响应(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器会按照响应内容中的顺序依次发送其他的请求,并获取相应的响应.
3. 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应.
4. 从获取第一个响应并在浏览器中显示,直到获取全部响应————这个过程叫做浏览器的渲染

注意:
在爬虫中,爬虫只会请求url地址,对应的拿到url地址所对应的响应(该响应的内容可以是html,css,js,图片等)

很多时候浏览器渲染出来的页面和爬虫请求的页面并不一样,所以在爬虫中,需要以url地址对应的响应为准来进行数据的提取

HTTP常用的请求方法

  • 一般在爬虫中常用的HTTP请求有GET和POST两种.
    get是从服务器上获取指定页面信息, 它请求的参数是拼接在url上的.以?隔开
    如: https://www.baidu.com/s?wd=爬虫
    post是向服务器提交数据并获取页面信息, 它请求的参数是在请求体中.

小结

  1. 爬虫分类:通用爬虫、聚焦爬虫
  2. 爬虫的流程:
    向起始url发送请求,并获取响应
    对响应进行提取
    如果提取url,则继续发送请求获取响应
    如果提取数据,则将数据进行保存
  3. robots协议
  4. 了解 http、https的概念和区别:
    http: 超本文传输协议
    https: HTTP + SSL,即带有安全套接字层的超本文传输协议
  5. 浏览器发送http请求的过程:
    浏览器先向地址栏中的url发起请求,并获取响应
    在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
    浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
    从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改

猜你喜欢

转载自blog.csdn.net/u011504907/article/details/81362575