IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬虫01-爬虫基本原理讲解 -> 正文阅读

[Python知识库]爬虫01-爬虫基本原理讲解

1. 什么是爬虫

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

2. 爬虫基本流程

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

在这里插入图片描述

3. 什么是request与Response

在这里插入图片描述

3.1 Request 中包含什么

在这里插入图片描述

请求方式: 主要有get post

* 查看请求方式

在这里插入图片描述
* 请求方式的类别
HTTP/1.0
1. GET:偏向于获取的方式
大部分都是给后端一些参数,用来获取些列数据
2. POST:偏向于给服务器一些数据
大部分都是登录,给服务器一些信息,你给我一个简单的结果
3. PUT:偏向于给服务器一些信息,但是是添加使用
大部分做注册, 给服务器一些信息,你把这个信息存起来
4. HEAD:用来获取服务器头信息

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

* get 与 post 的区别

在这里插入图片描述

请求URL

URL:统一资源定位符
在这里插入图片描述

请求头

请求的配置信息
在这里插入图片描述

请求体

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

3.2Response 包含什么

在这里插入图片描述

响应状态

状态码: 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)

输出:

<class 'requests.models.Response'>
200
<class'str'>
<html>
<head>
<script>
location.replace(location.href.replace("https://","http://"));
</script>
</head>
<body>
<noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>
</body>
</html>
<RequestsCookieJar[<Cookie BIDUPSID=992C3B26F4C4D09505C5E959D5FBC005 for .baidu.com/>, <Cookie
PSTM=1472227535 for .baidu.com/>, <Cookie __bsi=15304754498609545148_00_40_N_N_2_0303_C02F_N_N_N_0
for .www.baidu.com/>, <Cookie BD_NOT_HTTPS=1 for www.baidu.com/>]>

分别输出了 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 能抓怎样的数据

在这里插入图片描述

6 怎样来解析

在这里插入图片描述

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

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

8 怎样解决JavaScript渲染的问题

在这里插入图片描述

9 怎样保存数据

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:04:45  更:2022-06-25 18:05:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:42:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码