爬虫01-爬虫基本原理讲解

文章目录

  • 1. 什么是爬虫
  • 2. 爬虫基本流程
  • 3. 什么是request与Response
    • 3.1 Request 中包含什么
      • 请求方式: 主要有get post
      • 请求URL
      • 请求头
      • 请求体
    • 3.2Response 包含什么
      • 响应状态
      • 响应头
      • 响应体
  • 4 实例引入
  • 5 能抓怎样的数据
  • 6 怎样来解析
  • 7 为什么我抓到的和浏览器中看到的不一样
  • 8 怎样解决JavaScript渲染的问题
  • 9 怎样保存数据

1. 什么是爬虫

请求网站并提取数据的自动化程序.

2. 爬虫基本流程

  • 发起请求
  • 获取响应内容
  • 解析内容
  • 保存数据

爬虫01-爬虫基本原理讲解_第1张图片

3. 什么是request与Response

爬虫01-爬虫基本原理讲解_第2张图片

3.1 Request 中包含什么

爬虫01-爬虫基本原理讲解_第3张图片

请求方式: 主要有get post

* 查看请求方式

爬虫01-爬虫基本原理讲解_第4张图片
* 请求方式的类别
HTTP/1.0
1. GET:偏向于获取的方式
大部分都是给后端一些参数,用来获取些列数据
2. POST:偏向于给服务器一些数据
大部分都是登录,给服务器一些信息,你给我一个简单的结果
3. PUT:偏向于给服务器一些信息,但是是添加使用
大部分做注册, 给服务器一些信息,你把这个信息存起来
4. HEAD:用来获取服务器头信息

HTTP/1.1
5. DELETE:偏向于删除
大部分是删除评论,删除微博
6. CONNECT:管道连接改变代理连接使用【不常用】
7. PATCH: 偏向于给服务器一些信息,偏向于修改一些信息
大部分用于完善用户资料
8. OPTIONS:用于获取服务器性能,但是需要服务端同意

* get 与 post 的区别

爬虫01-爬虫基本原理讲解_第5张图片

请求URL

URL:统一资源定位符
爬虫01-爬虫基本原理讲解_第6张图片

请求头

请求的配置信息
爬虫01-爬虫基本原理讲解_第7张图片

请求体

请求体一般在get 方式时么有请求体
在post 方式时,以form data 的形式出现,包含登录信息等。

3.2Response 包含什么

爬虫01-爬虫基本原理讲解_第8张图片

响应状态

状态码: 200 成功, 300: 跳转 404:找不到

响应头

响应体

preview 内的内容

4 实例引入

import requests  

r = requests.get('https://www.baidu.com/')  
print(type(r))  
print(r.status_code)  
print(type(r.text))  
print(r.text)  
print(r.cookies)

输出:


200









, , , ]>

分别输出了 Response 的类型、状态码、响应体的类型、内容以及 Cookies。

通过运行结果可以发现,它的返回类型是 requests.models.Response,响应体的类型是字符串 str,Cookies 的类型是 RequestsCookieJar。

使用 get 方法成功实现一个 GET 请求,这倒不算什么,更方便之处在于其他的请求类型依然可以用一句话来完成,示例如下:

r = requests.post('http://httpbin.org/post')  
r = requests.put('http://httpbin.org/put')  
r = requests.delete('http://httpbin.org/delete')  
r = requests.head('http://httpbin.org/get')  
r = requests.options('http://httpbin.org/get')

5 能抓怎样的数据

爬虫01-爬虫基本原理讲解_第9张图片

6 怎样来解析

爬虫01-爬虫基本原理讲解_第10张图片

7 为什么我抓到的和浏览器中看到的不一样

抓到的是Javascript格式,需要进行ajax等解析

8 怎样解决JavaScript渲染的问题

爬虫01-爬虫基本原理讲解_第11张图片

9 怎样保存数据

爬虫01-爬虫基本原理讲解_第12张图片

你可能感兴趣的:(爬虫,爬虫,服务器,运维)