【爬虫基础】第一部分 网络通讯 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,如果没指定则随机生成一个给开发的应用程序使用。

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

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


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

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

相关文章

揭秘区块链隐私黑科技:零知识证明如何改变未来

文章目录 1. 引言:什么是零知识证明?2. 零知识证明的核心概念与三大属性2.1 完备性(Completeness)2.2 可靠性(Soundness)2.3 零知识性(Zero-Knowledge) 3. 零知识证明的工作原理4. 零…

R软件用潜在类别混合模型LCM分析老年人抑郁数据轨迹多变量建模研究

全文链接: tecdat.cn/?p40283 潜在类别混合模型假设总体具有异质性,由 GG 个潜在类别组成。在多变量的情况下,潜在类别是根据 KK 个纵向结果来定义的,从而形成 GG 个组,每个组的特征由 KK 个轨迹均值轮廓集表示&#…

【Rust中级教程】1.11. 生命周期(进阶) Pt.1:回顾、借用检查器、泛型生命周期

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 这篇文章在Rust初级教程的基础上对生命周期这一概念进行了补充,建议先看【Rust自…

【DeepSeek服务器部署全攻略】Linux服务器部署DeepSeek R1模型、实现API调用、搭建Web页面以及专属知识库

DeepSeek R1模型的Linux服务器搭建、API访问及Web页面搭建 1,引言2,安装Ollama工具3,下载DeepSeek R1 模型4,DeepSeek命令行对话5,DeepSeek API接口远程调用6,DeepSeek结合Web-ui实现图形化界面远程访问6.1…

【免费软件分享】Typor1.9.5-x64-CN免费版

到处找pojie软件的朋友,这里给大家提供一个版本,之前也是废了老大的劲才找到,这里分享给大家,希望帮助到需要的朋友! Typor1.9.5-x64-CN: 我用夸克网盘分享了「Typor1.9.5-x64-CN.7z」,点击链接…

Python天梯赛刷题-五分题(上)

蓝桥杯题刷的好累,感觉零帧起手、以题带学真的会很吃力,打算重新刷一点天梯的题目巩固一下,我本人在算法非常不精通的情况下,自认为天梯的L1的题是会相对容易一些的,可能有一些没有脑子光靠力气的“硬推”hhhh。 从头…

Python编程之数据分组

有哪些方式可以进行数据分组利用Pandas库进行分组使用itertools库的groupby分组操作构建Python字典方式实现(小规模数据,不适用数量特别大的情况,不需要依赖其它python库)利用NumPy的groupby函数分组操作利用Python的Dask库提供的函数进行分组下面看一个如何去实现坐标数据…

激光雷达YDLIDAR X2 SDK安装

激光雷达YDLIDAR X2 SDK安装 陈拓 2024/12/15-2024/12/19 1. 简介 YDLIDAR X2官方网址https://ydlidar.cn/index.html‌YDLIDAR X2 YDLIDAR X2是一款高性能的激光雷达传感器,具有以下主要特点和规格参数‌: ‌测距频率‌:3000Hz ‌扫描频…

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(2)

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(2) 我们上次已经了解了Paimon的下载及安装,并且了解了主键表的引擎以及changelog-producer的含义 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) 今天,我们继续快速了解下最近比…

⭐ Unity 横向滑动列表 首尾相连 轮转图

效果如下: 场景挂载: 代码部分: using DG.Tweening; using System; using System.Collections; using System.Collections.Generic; using System.Drawing.Printing; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine…

大白话实战Sentinel

Sentinel是SpringCloudAlibaba提供的用来做服务保护的框架,而服务保护的常见手段就是限流和熔断降级。在大型分布式系统里面,由于微服务众多,所以服务之间的稳定性需要做特别关注,Sentinel的核心包就提供了从多个维度去保护服务稳定的策略,而且这些保护策略都可以连接上Se…

【C语言】C语言 哈夫曼编码传输(源码+数据文件)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 C语言 哈夫曼编码传输(源码数据文件&am…

用命令模式设计一个JSBridge用于JavaScript与Android交互通信

用命令模式设计一个JSBridge用于JavaScript与Android交互通信 在开发APP的过程中,通常会遇到Android需要与H5页面互相传递数据的情况,而Android与H5交互的容器就是WebView。 因此要想设计一个高可用的 J S B r i d g e JSBridge JSBridge,不…

3月营销日历:开启春日盛宴,绽放生活魅力

关键营销节点∶惊蛰、女生节、妇女节、 植树节、315消费者权益日、春分 营销关键词 养生、女生魅力、感恩女性、环保、品质 01.重点关注品类 春季服饰:如轻薄外套、春装等,适合惊蛰后的市场需求; 美妆护肤:妇女节期间&#xf…

GPT-SoVITS更新V3 win整合包

GPT-SoVITS 是由社区开发者联合打造的开源语音生成框架,其创新性地融合了GPT语言模型与SoVITS(Singing Voice Inference and Timbre Synthesis)语音合成技术,实现了仅需5秒语音样本即可生成高保真目标音色的突破。该项目凭借其开箱…

AI芯片:科技变革的核心驱动力

近年来,人工智能(AI)的飞速发展对众多行业产生了深远影响,芯片领域也不例外。AI在芯片设计、制造及应用等方面带来了革新性的改变,成为推动芯片行业发展的关键力量。 AI助力芯片设计效率飞升 传统芯片设计极为复杂&am…

【phpstudy】关于实现两个不同版本的mysql并存。

1.首先是先安装好两个版本的mysql mysql5.7用默认的就行 2.更改mysql8.0的配置,如图 3.找到mysql8.0的路径,看着个里面就可以知道了 4.进入后,可以把data里面的数据情况,就是把data文件夹里的东西删除(我是先备份好了一…

Coze扣子新功能详解

今晚(2025-01-24)扣子再次进行更新 主要更新内容: 搭建小程序和 H5 用户界面时,支持使用音频组件播放音频内容 数据库操作体验提升 界面优化:对数据库详情界面进行了重新设计,并将工作流运行数据库的测试数据位置从原工作流底…

Pytorch深度学习教程_3_初识pytorch

欢迎来到《PyTorch深度学习教程》系列的第三篇!在前面的两篇中,我们已经介绍了Python及numpy的基本使用。今天,我们将深入探索PyTorch的核心功能,帮助你更好地理解和使用这个强大的深度学习框架。 欢迎订阅专栏: 深度…

第4章 信息系统架构(二)

4.2 系统架构 信息系统架构是一种体系结构,它反映了一个组织信息系统的各个组成部分之间的关系,以及信息系统与相关业务、信息系统与相关技术之间的关系。 4.2.1 架构定义 对于大规模的复杂系统来说,对总体的系统结构设计比起对计算算法和…