当前位置: 首页 > article >正文

【爬虫基础】第一部分 网络通讯 P1/3

前言 

1.知识点碎片化:每个网站实现的技术相似但是有区别,要求我们根据不同的网站使用不同的应对手段。主要是常用的一些网站爬取技术。

2.学习难度:入门比web简单,但后期难度要比web难,在于爬虫工程师与网站开发及运维人员的对抗。比如你写了爬虫但是被网站运维人员发现后添加反爬,那么就要解决反爬。即平台更新换代,爬虫策略需要实时更新

3.学习特点:以摸个网站爬虫为讲解对象,即一个技术点的案例。

4.后续发展:要求掌握的东西多,工作中根据工作需要涉及到更多没有接触的知识。

5.法律层面:爬虫相关工作属于灰色地带,目前国内现行法律对于爬虫相关评判还没有明确制度。

6.建议:好记性不如烂笔头,建议多找网站进行爬取联系,同时做好笔记。


1 网络通信要素

1.1 什么是网络?

       网络‌是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来,形成一个相互通信和共享资源的系统。网络的基础定义包括多个节点通过某种方式相互连接而形成的系统,这些节点可以是计算机、服务器或其他电子设备。网络在计算机科学中特指将地理位置分散的多台计算机及其外部设备通过通信线路连接起来,实现资源共享和信息传递的系统。‌

1.2 学习网络的目的?

       更加深入的了解网络编程,掌握了网络才能在后面的爬虫发送请求阶段、及找出对应的反爬手段有自己的理解、自己的方法。  

2.IP地址

2.1.什么是IP地址?

IP地址是分配给网络设备上网使用的数字标签,它能解析网络中唯一的一台设备。

cmd 打开终端命令: ipconfig

2.2.IP地址的表现形式

‌IP地址主要有两种表现形式:IPv4 和 IPv6

IPv4 是目前使用的ip地址,IPv6 是未来使用的ip 地址。

IPv4是目前广泛使用的IP地址版本,采用点分十进制表示形式。一个IPv4地址由四个字节组成,每个字节的范围是0到255,字节之间用点(.)分隔。例如,常见的本地回环地址127.0.0.1。IPv4地址分为A、B、C、D、E五类,其中A、B、C类地址是最常用的:

  • A类地址‌:网络号占8位,主机号占24位,范围从1.0.0.0到126.255.255.255。
  • B类地址‌:网络号占16位,主机号占16位,范围从128.0.0.0到191.255.255.255。
  • C类地址‌:网络号占24位,主机号占8位,范围从192.0.0.0到223.255.255.255。

IPv6是为了解决IPv4地址枯竭而设计的下一代IP地址版本,采用冒号十六进制表示形式。一个IPv6地址由8组4字节的十六进制数组成,每组之间用冒号(:)分隔。例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6提供了更大的地址空间,理论上可以为地球上每一粒沙子分配一个唯一的IP地址。

2.3.IP地址的作用

通过IP地址找到网络中唯一的一台设备,然后就可以和该设备进行通信。

2.4.windows常用的几个cmd命令

        ipconfig:查看网卡信息
        ping ip/url地址: 检查是否能够上网
        dir 查看当前路径中有那些文件信息
        cls 清空终端信息
        cd 路径
            # .. 回到上一级目录
            # ./ 代表当前

1)ping baidu.com   检查是否能够上网 

2)ping 127.0.0.1  检查本地网卡是否正常

3)dir 查看当前路径中有那些文件信息

4)  cls 清空终端信息

3.端口

知识点:
    1.什么是端口?
    2.什么是端口号?
    3.知名端口号?
    4.动态端口号

3.1端口和端口号的介绍

       每运行一个程序都会有一个端口,想要给对应的程序发送数据,找到对应端口即可。相当于酒店的房间号。

       端口号:操作系统为了统一管理端口,就对端口进行了编号。端口号就是数字,好比房间号。端口号有65536个。

      最终通信流程,通过ip地址找到对应的设备,通过端口号 找到对应的端口,然后通过端口把数据给应用程序。 ip + port   如:127.0.0.1:8080

       

      端口是传输数据的通道,是数据传输的必经之路。

      端口号是用来管理区分不同端口的号码。

3.2 端口号的分类

    1)知名端口号:众所周知的端口号 0-1023,固定分配给一些服务,如21、22、80端口

    2)动态端口号:一般程序员开发应用程序使用的端口号,1024-65535,如果没指定则随机生成一个给开发的应用程序使用。

    当运行一个程序默认会有一个端口号,当该应用程序退出时,所占用的端口号会释放。

....下节开始进入编程。



http://www.kler.cn/a/553463.html

相关文章:

  • 【Python爬虫(18)】解锁验证码识别:Python爬虫进阶秘籍
  • Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
  • Windows10 将Docker虚拟磁盘文件ext4.vhdx迁移至D盘
  • 基于Matlab实现永磁同步电机矢量控制仿真程序
  • 蓝桥杯备考:贪心算法之排座位
  • 【DeepSeek系列】04 DeepSeek-R1:带有冷启动的强化学习
  • SIM盾构建安全底座的可行性分析
  • 【C#/C++】C#调用C++ DLL bool返回值始终为true的问题排查
  • 阐解WiFi信号强度
  • Breakout Tool
  • 【CUDA 】第4章 全局内存——4.4 核函数可达到的带宽(4对角转置)
  • 【golang】channel带缓存和不带缓存的区别,应用场景解读
  • 一周学会Flask3 Python Web开发-http响应状态码
  • 【LLM】Llama 3 论文精读
  • 使用DeepSeek编写VTK读取PLY的Demo
  • 网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
  • frameworks 之 Activity添加View
  • NLP指标全解
  • SpringBoot中使用 ThreadLocal 进行多线程上下文管理及其注意事项
  • Spring Scheduling Tasks+Redis实现分布式定时任务