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

Python爬虫——1爬虫基础(一步一步慢慢来)

一、爬虫是什么? (spider)

Python 爬虫是利用编程语言 Python 来获取互联网上的数据的技术。它可以自动化地访问网页、提取信息并进行数据处理。以下是Python爬虫的基础知识和步骤:

主要特点和功能:

  1. 自动化浏览:爬虫程序能够自动访问和浏览互联网上的各种网页,而无需人工干预。

  2. 信息抓取:爬虫根据预定的规则和算法,从网页的HTML源码中提取所需的数据。这些数据可以是文本、图片、视频、超链接等。

  3. 广泛应用:爬虫在搜索引擎索引网页、价格比较网站、新闻聚合、社交媒体分析等领域广泛应用。它们可以帮助自动化地收集和分析大量的数据。

工作原理:

  • 发送请求:爬虫首先向目标网站发送HTTP请求,请求特定的网页内容。

  • 获取响应:网站接收请求后,返回相应的HTML或XML等格式的页面数据。

  • 解析页面:爬虫利用解析器(如Beautiful Soup)分析和解释页面的结构和内容,以便定位和提取所需数据。

  • 存储数据:提取到的数据通常会被存储到文件、数据库或其他数据存储系统中,以备后续分析和使用。

应用举例:

  • 搜索引擎:爬虫帮助搜索引擎建立和更新网页索引,使得用户可以通过关键词搜索快速找到相关网页。

  • 价格比较:电商网站使用爬虫收集竞争对手的价格信息,帮助制定价格策略。

  • 新闻聚合:爬虫从多个新闻网站抓取新闻内容,形成一个汇总的新闻平台。

二、基础知识

1.URL:

URL(统一资源定位符)是用于标识和定位互联网上资源的地址。它是通过一种标准化的格式来描述网络资源的位置和访问方式。URL通常由多个部分组成,包括协议、域名或IP地址、路径、查询参数和片段等,具体格式如下:

scheme://host:port/path?query#fragment
https://mp.csdn.net/mp_blog/creation/editor?spm=1001.2014.3001.4503#本网站
  1. 协议(Scheme):指定访问资源所使用的协议或者服务类型。常见的协议包括:

    • http:超文本传输协议,用于传输网页数据。
    • https:安全超文本传输协议,使用SSL加密传输网页数据,更安全。
    • ftp:文件传输协议,用于在网络上传输文件。
  2. 主机(Host):指定资源所在的主机名或者IP地址。例如,www.example.com 或者 192.168.1.1

  3. 端口(Port,可选):指定访问资源时使用的端口号。大部分情况下,如果未指定,默认使用协议默认的端口(如HTTP默认端口为80,HTTPS默认端口为443)。

  4. 路径(Path,可选):指定服务器上资源的具体路径或者文件名。例如,/index.html

  5. 查询参数(Query,可选):传递给服务器的额外参数,通常以键值对的形式存在,多个参数之间使用 & 分隔。例如,?page=2&category=python

  6. 片段(Fragment,可选):标识资源中的一个片段或位置,通常用于直接定位到网页的某个部分。例如,#section2

URL被广泛用于网页浏览、API调用、文件下载等场景,是互联网上资源定位的标准方式。浏览器和各种网络应用程序通过解析和使用URL来访问并获取所需的网络资源。

三、前端代码

我们使用爬虫的时候会需要我们解析前端代码,我们使用爬虫时了解前端代码是必须的。

<!DOCTYPE html> 声明为 HTML5 文档
<html>..</html> 是网页的根元素
<head>..</head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title>..<title> 元素描述了文档的标题
<body>..</body> 表示用户可见的内容
<div>..</div> 表示框架
<p>..</p> 表示段落
<ul>..</ul> 定义无序列表
<ol>..</ol>定义有序列表
<li>..</li>表示列表项
<img src="" alt="">表示图片
<h1>..</h1>表示标题
<a href="">..</a>表示超链接

四、合适的库

Python 中有许多强大的库可用于爬虫,其中最流行和常用的是 requestsBeautiful Soup(或 bs4)。

  • requests:用于发送HTTP请求,获取网页内容。

  • Beautiful Soup:用于解析HTML或XML文档,提取数据。
  • pip install requests 
    pip install Beautiful Soup

    执行以上命令载入库(win+r,输入cmd,输入执行)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【golang-ent】go-zero框架 整合 ent orm框架 | 解决left join未关联报错的问题
  • window11 部署llama.cpp并运行Qwen2-0.5B-Instruct-GGUF
  • python实现插入排序、快速排序
  • 陪玩系统小程序模式APP小程序H5系统搭建开发
  • 微信小程序-组件通信
  • DETR算法解读——Transformer在目标检测任务的首次应用
  • <数据集>铁轨缺陷检测数据集<目标检测>
  • IP转接服务的重要性及其应用
  • linux服务器数据库备份脚本
  • 【JavaScript 算法】拓扑排序:有向无环图的应用
  • 「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)
  • 处理在 electron 中使用开启了懒加载的 el-image 后,窗口最大化或窗口尺寸变化后图片无法显示的问题
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-21 VTC视频时序控制器设计
  • RESTful API设计指南:构建高效、可扩展和易用的API
  • 达梦数据库DM8-索引篇
  • [nginx文档翻译系列] 控制nginx
  • Angular 2 DI - IoC DI - 1
  • crontab执行失败的多种原因
  • Django 博客开发教程 16 - 统计文章阅读量
  • eclipse的离线汉化
  • leetcode386. Lexicographical Numbers
  • MySQL的数据类型
  • Nacos系列:Nacos的Java SDK使用
  • Service Worker
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • windows下如何用phpstorm同步测试服务器
  • 从零开始在ubuntu上搭建node开发环境
  • 番外篇1:在Windows环境下安装JDK
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • ------- 计算机网络基础
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何在GitHub上创建个人博客
  • 转载:[译] 内容加速黑科技趣谈
  • 自制字幕遮挡器
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 《码出高效》学习笔记与书中错误记录
  • 【干货分享】dos命令大全
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​学习一下,什么是预包装食品?​
  • #define与typedef区别
  • #Linux(Source Insight安装及工程建立)
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #window11设置系统变量#
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (c语言)strcpy函数用法
  • (java)关于Thread的挂起和恢复
  • (web自动化测试+python)1
  • (分布式缓存)Redis哨兵
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (六)DockerCompose安装与配置
  • (一) springboot详细介绍
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)Linq学习笔记
  • ***php进行支付宝开发中return_url和notify_url的区别分析