Python爬虫入门:网络世界的宝藏猎人

今天阿佑将带你踏上Python的肩膀,成为一名网络世界的宝藏猎人!

文章目录

    • 1. 引言
      • 1.1 简述Python在爬虫领域的地位
      • 1.2 阐明学习网络基础对爬虫的重要性
    • 2. 背景介绍
      • 2.1 Python语言的流行与适用场景
      • 2.2 网络通信基础概念及其在数据抓取中的角色
    • 3. Python基础
      • 3.1 Python语言概述
        • 3.1.1 Python的历史与设计理念
        • 3.1.2 特性:简洁性、可读性、模块化
      • 3.2 基本语法
        • 3.2.1 变量与数据类型
          • 3.2.1.1 数字、字符串、列表、元组、字典
        • 3.2.2 控制结构
          • 3.2.2.1 条件语句(if...else)
          • 3.2.2.2 循环语句(for, while)
      • 3.3 函数和模块
        • 3.3.1 定义与调用函数
        • 3.3.2 标准库与第三方模块的引入与使用
    • 4. 网络基础
      • 4.1 HTTP协议基础
        • 4.1.1 HTTP方法(GET, POST)
        • 4.1.2 状态码含义
        • 4.1.3 请求头与响应头
      • 4.2 请求与响应
        • 4.2.1 请求数据的构造
        • 4.2.2 解析响应内容
      • 4.3 URL和HTML基础
        • 4.3.1 URL构成与查询参数
        • 4.3.2 HTML标签与属性基础
        • 4.3.3 理解DOM结构
    • 5. 结论
      • 5.1 回顾Python与网络基础的核心知识点
      • 5.2 如何利用这些基础进行实际的数据抓取
    • 参考文献

1. 引言

1.1 简述Python在爬虫领域的地位

想象一下,互联网就像一个巨大的蜘蛛网,而我们就是那些渴望探索每一角落的探险家。在这个过程中,Python就像是我们手中的瑞士军刀,它在爬虫领域的地位,可以说是无可匹敌的。
Python之所以在爬虫界如此受欢迎,原因有很多。首先,Python的语法简洁明了,即使是编程新手也能快速上手。这就像是给你的探险队伍配了一把锋利的刀,让你能够轻松地切割那些复杂的网络结构。

其次,Python拥有一个庞大的库和框架生态系统,比如著名的爬虫库Scrapy和Requests。这些工具就像是你的探险装备,让你能够更加高效地收集信息。而且,Python的社区非常活跃,无论你遇到什么问题,总能找到人帮你解决。

1.2 阐明学习网络基础对爬虫的重要性

在开始我们的网络探险之前,了解一些基本的网络知识是非常必要的。这就像是在出发前检查你的装备,确保一切都准备就绪。

网络基础包括了对HTTP协议的理解,这是互联网通信的基石。了解HTTP方法,比如GET和POST,就像是学会了如何与网络服务器进行对话。GET请求就像是你礼貌地问服务器要一些信息,而POST请求则像是你在告诉服务器一些信息。

此外,学习状态码也很重要。状态码就像是服务器给你的回复,告诉你请求是否成功。比如,一个200状态码意味着“一切顺利”,而404则意味着“找不到你要找的东西”。
最后,了解请求头和响应头的概念也是必不可少的。这些头部信息就像是你和服务器之间的小纸条,它们包含了请求和响应的附加信息。掌握了这些,你就能更好地理解服务器的反馈,从而优化你的爬虫策略。

通过学习这些网络基础,你将能够更深入地理解互联网的工作原理,这对你成为一名优秀的爬虫开发者至关重要。

在这里插入图片描述

2. 背景介绍

2.1 Python语言的流行与适用场景

想象一下,你手中拿着一张宝藏图,而Python就是那把能帮你解开图中谜题的钥匙。Python语言因其简洁和强大的功能,在编程世界中广受欢迎。它就像是一把多功能的瑞士军刀,无论是构建网站、开发游戏、数据分析还是人工智能,Python都能大展身手。
在数据科学领域,Python的库如NumPy和Pandas,让数据的处理和分析变得轻松简单。而在Web开发中,框架如Django和Flask则能让你快速搭建起功能丰富的网站。这就像是在探险中,无论你需要攀爬险峻的山峰还是穿越深邃的洞穴,Python都能提供合适的工具。

2.2 网络通信基础概念及其在数据抓取中的角色

现在,让我们把视线转向网络通信——这是我们探险旅程中的另一项必备技能。网络通信的基础概念,就像是学习如何读懂宝藏图中的古老文字,它能让你理解互联网是如何工作的。
在网络通信中,最核心的概念之一就是TCP/IP协议。这就像是互联网世界的通用语言,所有的数据传输都依赖于它。而当我们谈论数据抓取时,HTTP和HTTPS协议则成为了我们的主要关注点。它们定义了客户端(比如你的爬虫程序)和服务器之间的通信规则。
理解URL的概念也很重要。URL,或者说统一资源定位器,是互联网上每个资源的地址。通过URL,我们能够精确地找到并访问我们想要的数据,就像是通过坐标来定位宝藏的位置。
最后,HTML和CSS是构建网页的基石。HTML定义了网页的结构,而CSS则负责网页的外观。对于爬虫来说,理解HTML的标签和属性是非常关键的,因为这将帮助你定位和提取网页中的数据。
掌握了这些网络通信的基础知识,你就像是获得了一张互联网世界的通行证。无论是探索未知的领域,还是寻找隐藏的宝藏,你都将游刃有余。

好的,让我们继续以轻松有趣的方式,书写第3点的内容。


3. Python基础

3.1 Python语言概述

3.1.1 Python的历史与设计理念

Python,这个听起来像是某种神秘生物的名字,实际上是由一位名叫吉多·范罗苏姆(Guido van Rossum)的荷兰程序员在1989年圣诞节期间创造的编程语言。它的设计哲学是“优美胜于丑陋”,“简洁胜于复杂”,“可读性很重要”。这就像是在探险时,我们更愿意带上那些既美观又实用的装备,而不是那些看起来复杂却难以操作的工具。

3.1.2 特性:简洁性、可读性、模块化

Python的简洁性体现在它的语法上。比如,创建一个列表(list)并计算其长度,你只需要一行代码:

my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print(length)  # 输出: 5

可读性则意味着Python的代码就像是在读一篇文章,易于理解。例如,一个简单的条件语句:

age = 18
if age >= 18:
    print("You are an adult.")
else:
    print("You are not an adult.")

模块化是指Python允许你将代码分解成独立的模块,每个模块负责一个特定的功能。这就像是将你的探险装备分门别类地放在背包的不同口袋里,需要时可以快速取用。

3.2 基本语法

3.2.1 变量与数据类型
3.2.1.1 数字、字符串、列表、元组、字典

在Python中,变量就像是标签,用来存储数据。数据类型则定义了数据的结构和它能进行的操作。以下是一些基本的数据类型和它们的例子:

  • 数字(int):用来表示整数或浮点数。
number = 10  # 整数
pi = 3.14159  # 浮点数
  • 字符串(str):用来表示文本。
message = "Hello, Python!"
  • 列表(list):一个有序的元素集合,可以包含不同类型的数据。
fruits = ["apple", "banana", "cherry"]
  • 元组(tuple):类似于列表,但它是不可变的。
coordinates = (10.0, 20.0)
  • 字典(dict):一个无序的键值对集合,键必须是不可变类型。
person = {"name": "Alice", "age": 30}
3.2.2 控制结构
3.2.2.1 条件语句(if…else)

条件语句允许你根据条件执行不同的代码块。这就像是在探险时,根据天气决定是继续前进还是找个地方避雨。

is_raining = True
if is_raining:
    print("Better stay indoors.")
else:
    print("Let's go for an adventure!")
3.2.2.2 循环语句(for, while)

循环语句让你重复执行一段代码,直到满足某个条件。这就像是在探险中,不断尝试不同的路径直到找到正确的方向。

  • for循环:遍历一个序列的每个元素。
for fruit in fruits:
    print(fruit)
  • while循环:只要条件为真,就重复执行代码块。
count = 0
while count < 5:
    print(count)
    count += 1

3.3 函数和模块

3.3.1 定义与调用函数

函数是一段可以重复使用的代码块,它接受输入(参数),执行操作,并返回结果。这就像是你的多功能瑞士军刀,每次探险时,你只需要带上这把刀,就相当于带上了多种工具。

def greet(name):
    return f"Hello, {name}!"
print(greet("Kimi"))  # 输出: Hello, Kimi!
3.3.2 标准库与第三方模块的引入与使用

Python有一个庞大的标准库,提供了许多内置的模块和函数。此外,还有许多第三方库,可以通过包管理器pip安装。这就像是你的装备库,里面应有尽有,你可以根据需要选择装备。

import random

# 使用random库生成一个1到10之间的随机数
random_number = random.randint(1, 10)
print(random_number)

通过这些生动的例子和代码,我们介绍了Python的基础知识,包括语言概述、基本语法、控制结构以及函数和模块的使用。这样的介绍不仅接地气,而且易于理解,有助于读者更好地掌握Python的基础知识。接下来,我们可以接着探讨网络基础的相关内容。

在这里插入图片描述
当然,让我们以一种轻松诙谐的方式继续探索第4点的内容。


4. 网络基础

4.1 HTTP协议基础

HTTP,全称超文本传输协议(Hypertext Transfer Protocol),是互联网上应用最广泛的协议之一。它就像是网络世界的邮政系统,负责在客户端(比如你的浏览器或者爬虫程序)和服务器之间传递信息。

4.1.1 HTTP方法(GET, POST)

HTTP方法就像是你给服务器发送的不同种类的信件。最常见的两种方法是GET和POST:

  • GET:就像是你给图书馆管理员一张纸条,上面写着你想要的书名。管理员会根据你的请求给你书。
    import requests
    response = requests.get('http://example.com')
    print(response.text)  # 打印网页内容
    
  • POST:更像是你给朋友发送一封带有附件的信。除了信件内容,你还附加了一些额外的信息。
    response = requests.post('http://example.com/login', data={'username': 'user', 'password': 'pass'})
    
4.1.2 状态码含义

状态码是服务器对请求的回应。它们就像是服务员给你的便签,上面写着你的订单是否被接受:

  • 200 OK:你的请求已经被成功处理。
  • 404 Not Found:哎呀,找不到你请求的资源,可能链接有误。
  • 500 Internal Server Error:服务器自己出了问题,不是你的错。
4.1.3 请求头与响应头

请求头和响应头是HTTP通信中的附加信息。它们就像是信件上的邮票和邮戳,提供了额外的上下文:

  • 请求头:告诉服务器你是谁,你想要什么,以及你可以接受什么。
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get('http://example.com', headers=headers)
    
  • 响应头:服务器告诉你它是谁,它给你的是什么,以及它的一些额外信息。
    print(response.headers)  # 查看响应头信息
    

4.2 请求与响应

4.2.1 请求数据的构造

构建一个HTTP请求就像是准备一次约会,你需要确保一切都恰到好处:

  • URL:约会的地点。
  • Method:你们见面的方式,比如GET或POST。
  • Headers:你的着装和携带的礼物,显示你的诚意和品味。
  • Body(对于POST请求):你的邀请函,详细说明了你的意图。
4.2.2 解析响应内容

解析HTTP响应就像是拆礼物,你期待地打开它,看看里面是什么:

from bs4 import BeautifulSoup

soup = BeautifulSoup(response.content, 'html.parser')
# 假设我们想找到所有的链接
links = soup.find_all('a')
for link in links:
    print(link.get('href'))  # 打印每个链接的href属性

4.3 URL和HTML基础

4.3.1 URL构成与查询参数

URL是互联网上每个资源的地址。它通常看起来像这样:http://www.example.com/path?arg=value#anchor

  • Schemehttphttps,决定了数据是如何加密传输的。
  • Hostwww.example.com,服务器的域名。
  • Path/path,资源在服务器上的位置。
  • Query?arg=value,附加的请求参数。
  • Fragment#anchor,页面内的一个锚点。
4.3.2 HTML标签与属性基础

HTML是构建网页的基础,它由一系列的标签组成,每个标签都有特定的作用:

  • <a>:定义一个超链接。
  • <img>:嵌入一个图像。
  • <div>:常用于布局,可以包含其他HTML元素。

每个HTML标签都可以有属性,属性提供了关于标签的额外信息:

<a href="http://www.example.com" target="_blank">Visit Example.com</a>

在这个例子中,href属性定义了链接的目的地,而target="_blank"表示链接将在新标签页中打开。

4.3.3 理解DOM结构

文档对象模型(DOM)是HTML和XML文档的编程接口。它将网页的结构表示为一个树形结构,每个节点代表一个HTML元素。理解DOM结构对于数据抓取至关重要,因为它允许你定位和提取所需的数据:

# 假设我们有以下HTML结构
html_doc = """
<html>
  <body>
    <div id="content">
      <p>Hello, World!</p>
    </div>
  </body>
</html>
"""
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html_doc, 'html.parser')
# 找到id为content的div元素
content_div = soup.find('div', id='content')
print(content_div.p.text)  # 输出: Hello, World!

通过这些生动的例子和代码,我们了解了网络基础的核心概念,包括HTTP协议、请求与响应的处理、URL的构成、HTML的基础知识以及DOM结构的理解!
在这里插入图片描述
好的,让我们以一种轻松幽默的方式,来书写第5点的内容。


5. 结论

5.1 回顾Python与网络基础的核心知识点

在这段探险旅程中,我们学到了很多宝贵的知识。就像是一位勇敢的探险家回顾他的宝藏图,我们现在要回顾一下我们所学到的Python和网络基础的核心知识点。

  • Python的简洁和强大:我们了解到Python的语法简洁,社区活跃,拥有丰富的库和框架,非常适合用来编写爬虫程序。
  • 网络通信的基础:我们探索了HTTP协议,学习了GET和POST请求的区别,以及如何通过状态码来理解服务器的响应。
  • 数据类型和控制结构:我们掌握了Python的基本数据类型和控制结构,这些都是编写爬虫程序不可或缺的基础。
  • 函数和模块的使用:我们学习了如何定义和调用函数,以及如何利用Python的标准库和第三方模块来扩展我们程序的功能。
  • URL和HTML的基础知识:我们了解了URL的构成,HTML的基本标签和属性,以及DOM结构,这些都是理解和解析网页的关键。

5.2 如何利用这些基础进行实际的数据抓取

现在,我们已经装备好了所有必要的工具和知识,是时候开始真正的探险了——也就是实际的数据抓取。在接下来的篇章中,我们将深入到数据抓取的实战技巧中,包括但不限于:

  • 构建高效的爬虫:我们将学习如何使用Python的库,如Scrapy和Requests,来构建能够高效抓取数据的爬虫。
  • 处理各种网页结构:我们将探索不同的HTML结构和数据提取技术,以应对各种复杂的网页布局。
  • 数据存储和管理:我们将学习如何将抓取到的数据存储到数据库中,以及如何进行有效的数据管理。
  • 遵守法律和道德规范:在数据抓取的过程中,我们还将讨论如何遵守相关的法律法规和道德规范,确保我们的探险活动是合法和负责任的。

让我们带着对知识的渴望和对探险的热情,继续前进,揭开数据世界的神秘面纱。准备好了吗?让我们的Python爬虫启航,向着数据的宝藏,出发!


在这里插入图片描述

在撰写学术或技术文档时,提供参考文献是一个重要的环节,它不仅展示了研究的深度,还体现了学术诚信。以下是一些可能与Python和网络基础相关的书籍、在线文档和资源,可以作为参考文献的示例:


参考文献

  1. Python官方文档
    Python Software Foundation
    https://docs.python.org/3/

  2. “Python网络数据采集”
    Ryan Mitchell
    O’Reilly Media; 第1版 (2015年)
    ISBN-13: 978-1491950738

  3. “用Python进行数据分析”
    Wes McKinney
    O’Reilly Media; 第1版 (2017年)
    ISBN-13: 978-1491957660

  4. Scrapy官方文档
    Scrapy project
    https://docs.scrapy.org/

  5. “HTTP: The Definitive Guide”
    David Gourley, Brian Totty
    O’Reilly Media; 第14版 (2002年)
    ISBN-13: 978-1565925938

  6. “HTML & CSS: Design and Build Websites”
    Jon Duckett
    John Wiley & Sons; 第1版 (2011年)
    ISBN-13: 978-1119999844

  7. Mozilla开发者网络(MDN)
    Mozilla
    https://developer.mozilla.org/

  8. “Python标准库”
    Python Software Foundation
    https://docs.python.org/3/library/

  9. “Beautiful Soup: 如果你正在抓取网络,你需要Beautiful Soup”
    Leonard Richardson, Leonard Richardson
    Blog Post, 2006
    https://www.crummy.com/software/BeautifulSoup/

  10. “Python Requests: 人性化的HTTP客户端”
    Kenneth Reitz
    GitHub Repository, 2021
    https://github.com/psf/requests

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/621807.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股之String s = “String“;和String s = new String(“String“);有什么区别

Java中String s "String";和String s new String("String");有什么区别 字符串字面量&#xff08;"String"&#xff09;&#xff1a; 常量池&#xff1a;使用字面量方式创建字符串时&#xff0c;Java虚拟机&#xff08;JVM&#xff09;会在运…

WWW服务器搭建(1)——HTTP协议原理篇

目录 一、WWW的相关概念 1.1 WWW的定义 1.2 超文本标记语言HTML 1.3 统一资源定位符URL 1.4 超文本传输协议HTTP 二、HTTP协议工作过程 2.1 DNS解析 2.2 TCP连接过程 2.3 HTTP 请求与响应 2.4 TCP连接断开 三、HTTP请求报文格式 3.1 请求行 3.2 请求头 3.3 空行 …

全国防灾减灾日主题活动投稿我可算找对了投稿方法

作为一名社区公众人员,我深知对外信息宣传的重要性。特别是在全国防灾减灾日这样的特殊时刻,我们不仅要向居民普及防灾减灾知识,还要通过媒体将社区的活动和成果展示给更多人。然而,在投稿的过程中,我最初却遭遇了诸多挑战。 起初,我采用传统的邮箱投稿方式,将精心撰写的稿件发…

【JavaWeb】网上蛋糕商城后台-客户管理

概念 上文中已讲解和实现了后台管理系统中的订单管理功能&#xff0c;本文讲解客户信息管理功能。 客户信息列表 在后台管理系统的head.jsp头部页面中点击“客户管理”向服务器发送请求 在servlet包中创建AdminUserListServlet类接收浏览器的请求 package servlet;import m…

特征提取与深度神经网络(二)

关键点/角点检测 2011论文-ORB关键点检测&#xff0c;比SIFT与SURF速度更快。 ORB算法可以看出两个部分组成&#xff1a;快速关键点定位BRIEF描述子生成 Fast关键点检测&#xff1a; 选择当前像素点P&#xff0c;阈值T&#xff0c;周围16个像素点&#xff0c;超过连续N12个像素…

Vue 局部布局 Layout 内部布局 [el-row]、[el-col]

之前的布局容器是一个整体的框架&#xff0c;layout里面的布局其实就是el-row和el-col的组合。 基础布局 使用单一分栏创建基础的栅格布局。 通过 ​row ​和 ​col ​组件&#xff0c;并通过 ​col ​组件的 ​span ​属性我们就可以自由地组合布局。 这种最简单&#xff0c;…

【Unity Animation 2D】Unity Animation 2D骨骼绑定与动画制作

一、图片格式为png格式&#xff0c;并且角色各部分分离 图片参数设置 需要将Sprite Mode设置为Single&#xff0c;否则图片不能作为一个整体 1、创建骨骼 1.1 旋转Create Bone&#xff0c;点击鼠标左键确定骨骼位置&#xff0c;移动鼠标再次点击鼠标左键确定骨骼&#xff0c…

【知识碎片】2024_05_13

本文记录了两道代码题【自除数】和【除自身以外数组的乘积】&#xff08;利用了前缀积和后缀积&#xff0c;值得再看&#xff09;&#xff0c;第二部分记录了关于指针数组和逗号表达式的两道选择题。 每日代码 自除数 . - 力扣&#xff08;LeetCode&#xff09; /*** Note: T…

☀☀☀☀☀☀☀有关栈和队列应用的oj题讲解☼☼☼☼☼☼☼

准备好了么 目录&#xff1a; 一用两个队列实现栈&#xff1a; 1思路&#xff1a; 2画图理解&#xff1a; 3代码解答&#xff1a; 二用两个栈实现队列&#xff1a; 1思路&#xff1a; 2画图理解&#xff1a; 3代码解答&#xff1a; 三设计循环队列&#xff1a; 1思路…

MySQL5.7压缩包安装图文教程

一、下载 https://dev.mysql.com/downloads/mysql/ 选择5.7版本 二、解压 下载完成后解压&#xff0c;解压后如下&#xff08;zip是免安装的&#xff0c;解压后配置成功即可使用&#xff09; 注意&#xff1a;只有5.6以前的版本才有在线安装&#xff08;install msi&#xf…

网页如何集成各社区征文活动

Helllo , 我是小恒 由于我需要腾讯云社区&#xff0c;稀土掘金以及CSDN的征文活动RSS&#xff0c;找了一下没发现&#xff0c;所以使用GET 请求接口对网页定时进行拉取清洗&#xff0c;甚至无意间做了一个简单的json格式API 最终网址:hub.liheng.work API:http://hub.liheng.wo…

李廉洋:5.13黄金原油美盘行情分析,必看策略。

黄金消息面分析&#xff1a;机构最新调查中的一些受访者表示&#xff0c;美国最大的科技股不仅是对创新行业的押注&#xff0c;而且可能是对冲通胀的工具。46%的受访者表示&#xff0c;数十年来一直是避险之选的黄金仍被视为抵御价格上涨风险的最佳保障。但近三分之一的人表示&…

前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言 &#x1f44b;一、Nginx简介 &#x1f4da;二、常见的Web服务器架构 &#x1f300;&#x1f4cc; 架构概述&#x1f4cc; Nginx的深入探讨 三、正向代理与反向代理 &#x1f52e;&#x1f4cc; 正向代理工作原理&#…

深度解读《深度探索C++对象模型》之虚继承的实现分析和效率评测(一)

目录 前言 具有虚基类的对象的构造过程 通过子类的对象存取虚基类成员的实现分析 接下来我将持续更新“深度解读《深度探索C对象模型》”系列&#xff0c;敬请期待&#xff0c;欢迎左下角点击关注&#xff01;也可以关注公众号&#xff1a;iShare爱分享&#xff0c;或文章末…

docker端口映射成功,docker端口不生效的问题解决,外界无法访问docker映射端口

docker端口映射不生效的问题解决 问题 使用docker run -p 88848:8848后&#xff0c;显示容器启动正常&#xff0c;并且使用docker logs –f xxx能够看到容器可以正常启用&#xff0c;docker ps 可以看到容器启动成功&#xff0c;并且端口已经映射,但是在浏览器访问相关地址&am…

字符串函数(一):strcpy(拷贝),strcat(追加),strcmp(比较),及strncpy,strncat,strncmp

字符串函数 一.strcpy&#xff08;字符串拷贝&#xff09;1.函数使用2.模拟实现 二.strcat&#xff08;字符串追加&#xff09;1.函数使用2.模拟实现 三.strcmp&#xff08;字符串比较&#xff09;1.函数使用2.模拟实现 四.strncpy1.函数使用2.模拟实现 五.strncat1.函数使用2.…

调剂”小清华“、不保护一志愿?——兰州大学25计算机考研考情分析

兰州大学&#xff08;Lanzhou University&#xff09;&#xff0c;简称“兰大”&#xff0c;是中华人民共和国教育部直属 全国重点大学&#xff0c;中央直管副部级建制&#xff0c;位列国家首批“双一流(A 类)”、“211 工 程”、“985 工程”大学行列&#xff0c;入选国家“珠…

电机及FOC算法介绍

一.电机概述 1.电机的简介 电机是一种可以在电能和机械能的之间相互转换的设备&#xff0c;其中发电机是将机械能转换为电能&#xff0c;电动机是将电能转换为机械能。发电机的主要用于产生电能&#xff0c;用途单一&#xff0c;但是电动机主要用于产生机械能&#xff0c;用途…

外卖 点金推广实战课程,2024外卖 点金推广全流程(7节课+资料)

课程内容&#xff1a; 外卖点金推广实操课程 资料 01 1-了解外卖.mp4 02 第一节:点金推广的说明.mp4 03 第二节:如何降低点金推广的成本,mp4 04 第三节:如何计算点金推广的流速,mp4 05 第四节:如何提升点金的精准度,mp4 06 第五节:点金推广实操,mp4 07 点金推广高级教程…

几种IO模型

部分图来自网络和黑马程序员 IO IO分为两个阶段&#xff1a;数据准备&#xff08;数据读取到内核缓冲区&#xff09;数据拷贝&#xff08;从内核缓冲区拷贝到用户空间&#xff09; 例如&#xff0c;在下图中两个主机的通信中&#xff0c;程序A/B从TCP接收缓冲区读取数据时&am…