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

【Python爬虫基础篇】--1.基础概念

目录

1.爬虫--定义

2.爬虫--组成

3.爬虫--URL


1.爬虫--定义

         网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。例如:传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具也存在着一定的局限性,通用搜索引擎的目标是尽可能大的网络覆盖率,返回的结果包含大量用户不关心的网页,为了解决上述问题,定向抓取相关网页资源的爬虫应运而生。

            由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取网页并分析,已成为主流的爬取策略。只要你能通过浏览器访问的数据都可以通过爬虫获取,爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据。

2.爬虫--组成

模块核心功能常用工具/技术关键优化点
调度器管理URL抓取优先级与任务队列Scrapy调度器、Redis队列、RabbitMQ去重策略、分布式任务分配
下载器发送HTTP请求获取网页内容requests、aiohttp、Selenium代理轮换、请求头伪装、异步并发
解析器提取数据(文本/API响应)BeautifulSoup、XPath、正则表达式动态渲染、数据清洗与结构化
数据存储持久化存储抓取结果MySQL/MongoDB、CSV/JSON文件、Elasticsearch批量插入、索引优化
反爬策略绕过反爬机制(验证码、频率限制)代理IP池、OCR打码、Cookies模拟登录请求延迟随机化、User-Agent轮换
监控与日志记录运行状态与异常报警logging模块、Prometheus+Grafana错误重试、性能指标可视化

3.爬虫--URL

术语定义核心功能示例
网页(Web Page)由HTML/CSS/JavaScript编写的单个文档,通过浏览器渲染显示内容。展示文本、图像、视频等具体信息。https://example.com/about.html
网站(Website)由多个相互链接的网页组成的集合,共享同一域名和主题。提供完整服务或信息体系(如电商、博客)。https://example.com (含主页、子页面)
网络服务器(Web Server)存储网站文件(网页、图片等)的硬件/软件,响应客户端请求并返回数据。托管网站内容,处理HTTP请求(如Apache、Nginx)。阿里云ECS、AWS EC2实例
搜索引擎(Search Engine)通过爬虫索引网页,提供关键词检索服务的系统。快速定位全网公开资源(如网页、图片)。Google、百度、Bing

URL: 

    早在1989年,网络发明人蒂姆·伯纳斯 - 李(Tim Berners-Lee)就提出了网站的三大支柱:

    1)URL ,跟踪Web文档的地址系统

    2)HTTP,一个传输协议,以便在给定URL时查找文档

    3)HTML, 允许嵌入超链接的文档格式

     Web的最初目的是提供一种简单的方式来访问,阅读和浏览文本文档。从那时起,网络已经发展到提供图像,视频和二进制数据的访问,但是这些改进几乎没有改变三大支柱。

    在Web之前,很难访问文档并从一个文档跳转到另一个文档。WWW(World Wide Web,万维网)简称为3W,使用统一资源定位符(URL)来标志WWW上的各种文档。

    完整的工作流程如下∶

  1. Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求。
  2. Web服务器把URL转换为文件路径,并返回信息给 Web浏览器。
  3. 通信完成,关闭连接。

    HTTP:超文本传送协议(HTTP)是在客户程序(如浏览器)与WWW服务器程序之间进行交互所使用的协议。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接,它使用TCP连接进行可靠传输,服务器默认监听在80端口。 

    URL:代表统一资源定位器。URL 只不过是 Web 上给定的唯一资源的地址。理论上,每个有效的 URL 都指向一个唯一的资源。此类资源可以是 HTML 页面、CSS 文档、图像等。

组成部分说明**示例(以 http://www.example.com:80/path/to/myfile.html?key1=value1#anchor 为例)
协议指定访问资源的协议(如 httphttpsftp),后跟 :// 分隔符。http:
域名/IP服务器的地址(如 www.example.com 或 192.168.1.1)。www.example.com
端口可选,服务器监听的端口号(默认端口可省略,如 HTTP 默认 80)。:80(可省略)
资源路径服务器上资源的路径,包含虚拟目录和文件名。/path/to/myfile.html
查询参数可选,以 ? 开头,键值对形式(如 ?key1=value1&key2=value2)。?key1=value1
锚点可选,以 # 开头,指向资源内的特定位置(如 HTML 锚点或视频时间戳)。#anchor

http://www.xdnf.cn/news/76.html

相关文章:

  • 鸿蒙系统开发中路由使用详解
  • Unity URP Moblie AR示例工程,真机打包出来,没阴影
  • 秘密任务 2.0:如何利用 WebSockets + DTOs 设计实时操作
  • OpenHarmony Camera开发指导(五):相机预览功能(ArkTS)
  • 【JavaWeb】详细讲解 HTTP 协议
  • Linux,redis群集模式,主从复制,读写分离
  • Tomcat
  • HTTP 2.0 协议特性详解
  • LeetCode每日一题4.17
  • C#日志辅助类(Log4Net)实现
  • Python学习笔记
  • jenkins凭据管理(配置github密钥)
  • ssh用户秘钥登录设置
  • ReadableStream响应主体数据处理(截图自用)
  • 第七章:7.2求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。从主函数输入a、b、c的值
  • 聊一聊接口测试是如何进行的?
  • 16位海明码解码电路设计教程
  • 压缩包网页预览(zip-html-preview)
  • java IO/NIO/AIO
  • 【音视频】MP4解封装
  • 23种设计模式-创建型模式之单例模式(Java版本)
  • CS144 Lab1实战记录:实现TCP重组器
  • Vue中v-if和v-show区别
  • Redis之全局唯一ID
  • Python解决“小D的abc字符变换”问题
  • 进程(Process)和进程管理
  • 十三种物联网/通信模块综合对比——《数据手册--物联网/通信模块》
  • HarmonyOS
  • 安全可靠+操作简捷——安科瑞预付费电表的用户体验升级
  • 代码随想录算法训练营第三十七天| 52. 携带研究材料 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯(进阶版)