爬虫01 - 爬虫原理及其入门

文章目录

  • 爬虫01 - 爬虫原理及其入门
    • 一:爬虫原理
      • 1:爬虫的优势‌
      • 2:爬虫的核心库
      • 3:经典举例
      • 4:合规问题

一:爬虫原理

学习爬虫之前前置知识需要了解这些:

我的HTTP介绍, 了解如何调用,requests需要

我的html介绍, 了解html结构

我的css介绍,了解选择器部分, 因为要用bs4选择对应位置的内容

所谓爬虫,就是通过模拟浏览器行为向目标网站发送请求(HTTP/HTTPS),解析响应内容并提取所需数据,最终存储到本地或数据库

  1. 请求数据(构造HTTP请求(GET/POST)获取网页内容)
  2. 解析数据(通过正则表达式、XPath或解析库(如BeautifulSoup)提取目标信息)
  3. 存储数据(将结果保存为CSV、Excel或数据库(如MySQL、MongoDB)

1:爬虫的优势‌

  • 丰富的库支持‌:Requests(HTTP请求)、BeautifulSoup/Scrapy(解析)、Selenium(动态渲染)等库简化开发流程。
  • ‌语法简洁高效‌:Python代码可读性强,适合快速实现复杂逻辑。
  • ‌生态成熟‌:社区活跃,反爬解决方案和开源项目资源丰富。

2:爬虫的核心库

在这里插入图片描述

pip install requests
pip install beautifulsoup4 # 注意这个是4版本的
pip install selenium
pip install scrapy

3:经典举例

举一个简单的top250首页电影的评分和电影名

import requests
from bs4 import BeautifulSoup# 1:构建请求,通过request先获取到对应的HTML/XML
url = "https://movie.douban.com/top250"
headers = {"User-Agent": "Mozilla/5.0"}response = requests.get(url, headers=headers)# 准备使用bs4进行解析,下面将使用find, find_all进行解析
soup = BeautifulSoup(response.text, "html.parser")movies = []
# 对于找到的所有的item进行解析
for item in soup.find_all("div", class_="item"):title = item.find("span", class_="title").textrating = item.find("span", class_="rating_num").textmovies.append({"title": title, "rating": rating})for index, movie in enumerate(movies):print(f"{index + 1}. {movie['title']} - {movie['rating']}")

4:合规问题

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914098.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914098.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914098.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

G5打卡——Pix2Pix算法

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 Pix2Pix 是一种基于条件生成对抗网络(cGANs)的图像到图像翻译算法,由 Phillip Isola 等人在 2016 年提出。该算法的核心思想…

动力系统模拟与推导-AI云计算数值分析和代码验证

当系统是连续的,并且其状态变量不仅随时间变化,而且随空间维度变化时,需要使用偏微分方程(PDEs)来推导运动方程。偏微分方程提供了描述这些空间分布属性如何相互作用和演化的数学框架。 选择使用常微分方程&#xff08…

P4597 序列 sequence题解

P4597 序列 sequence 给定一个数列,每次操作可以使任意一个数1或-1,求小的操作次数,使得数列变成不降数列. 1.对于前面比当前位的数字大的数,设最大数为 xxx ,当前的数为 yyy ,则对于 xxx 到 yyy 中间的任意数&#xf…

雨污管网智慧监测系统网络建设方案:基于SD-WAN混合架构的最佳实践

随着城市化的快速推进,雨污管网的管理与运行面临着日益复杂的挑战,例如内涝、污水溢流、非法排污等问题频发。为了更高效地管理分布广泛的监测点,保障系统运行稳定性,构建一套高效、低成本、易运维的网络架构至关重要。本文将分享…

世俱杯直播数据源通过反汇编获取到

在当今的互联网体育赛事直播中,许多平台为了保护其直播资源,会采用加密、混淆或动态加载等方式隐藏真实的视频流地址(如 .m3u8 或 .flv)。对于普通用户和开发者来说,直接通过网页源码或浏览器调试器难以快速定位这些关…

字节豆包又一个新功能,超级实用,4 种玩法,你肯定用得上!(建议收藏)

前段时间,分享了一个非常好用的视频总结工具——百度网盘和百度文库联合推出的「AI 笔记」。它能自动根据视频内容,生成图文视频总结、表格总结、思维导图等。关键是带时间戳,能直接跳转到视频的位置。但这个功能隐藏在百度网盘里&#xff0c…

AI进化论08:机器学习的崛起——数据和算法的“二人转”,AI“闷声发大财”

上回咱们聊了第二次AI寒冬,AI为了“活下去”,不得不“改头换面”,从“AI”变成了“机器学习”。结果你猜怎么着?这“机器学习”啊,还真就“闷声发大财”了!它不再执着于模拟人类的“思维过程”,…

【MySQL】———— 索引

作者主页: 作者主页 本篇博客专栏:Linux 创作时间 :2025年7月11日 Mysql索引 索引介绍 索引是什么 根据官方对索引的介绍,索引是帮助MySQL高效的获取数据的数据结构,在我看来,索引就相当于一本书的目…

页面html,当鼠标点击图标,移开图标,颜色方块消失

html页面代码&#xff1a;<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>颜色选择器</title><style>body {font-family: "Microsoft YaHei", sans-serif;padding: 20px;}.c…

netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)

1.创建新项目打开 VS2022&#xff0c;选择 "创建新项目"搜索 "控制台应用"&#xff0c;选择 ".NET 6.0 (C#)" 模板&#xff0c;点击 "下一步"项目名称&#xff1a;"DxfProcessor"&#xff0c;位置&#xff1a;自选&#xff…

如何将一个本地的jar包安装到 Maven 仓库中

我们需要执行以下步骤&#xff1a; 首先&#xff0c;打开命令提示符&#xff08;CMD&#xff09;或 PowerShell&#xff0c;执行以下命令&#xff1a; mvn install:install-file ^ -Dfile"你的jar包路径" ^ -DgroupId"组织ID" ^ -DartifactId"项目ID&…

AI赋能的企业音频智能中枢:重构会议价值提升决策效率的数字化转型实践

在当今快节奏的商业环境中&#xff0c;企业管理者每天都要处理海量信息&#xff0c;其中音频内容占据了重要位置。你是否经常遇到这样的困扰&#xff1a;重要会议结束后&#xff0c;录音文件静静躺在设备里&#xff0c;迟迟无法变成可用的会议纪要跨部门协作时&#xff0c;收到…

医学+AI!湖北中医药大学信息工程学院与和鲸科技签约101数智领航计划

为积极推动人工智能与中医药信息化深度融合&#xff0c;着力培育既精通中医药理论又掌握人工智能技术的复合型人才&#xff0c;6 月 27 日&#xff0c;湖北中医药大学信息工程学院与上海和今信息科技有限公司&#xff08;以下简称 “和鲸科技”&#xff09;召开校企合作座谈会&…

全面掌控 Claude Code:命令 + 参数 + 快捷键一文全整理(建议收藏)

近日&#xff0c;随着Cursor套餐定价的风波&#xff0c;Claude Code 无疑成为了最近颇受欢迎的代码助手&#xff0c;不仅支持多种编程语言&#xff0c;还比Cursor更能理解复杂的上下文逻辑&#xff0c;极受广大开发者的青睐。 不过&#xff0c;与其他AI编程助手不同的是&#x…

深度学习-正则化

摘要 本文系统阐述了深度学习中的正则化技术体系&#xff0c;围绕防止过拟合这一核心目标展开。首先通过偏差-方差框架解析过拟合/欠拟合本质&#xff0c;并使用对比表明确区分特征&#xff1b;其次深入分析了L1/L2正则化的数学原理&#xff08;2mλ​∥w∥2与mλ​∥w∥1​&a…

STM32之风扇模块(开关控制+PWM调速)

目录 一、系统概述 二、5V直流风扇模块简介 2.1 基本概述 2.2 关键特性 2.3 接口定义 2.4 典型驱动电路 2.4.1 继电器驱动方案&#xff08;开关控制&#xff09; 2.4.2 三极管驱动方案&#xff08;调速控制&#xff09; 2.5 常见问题解决 三、继电器模块控制风…

AGX Xavier 搭建360环视教程【二、环境配置】

AGX Xavier 场景下的 【OpenCV FFmpeg CUDA GStreamer】 重装 & 编译的2025年稳定方案✅ 1️⃣ 先卸载老版本AGX 自带很多预装包&#xff0c;原则&#xff1a;卸载干净&#xff0c;避免旧库和新编译冲突。&#x1f539; 卸载 OpenCVdpkg -l | grep opencv sudo apt-get …

Cesium实战:交互式多边形绘制与编辑功能完全指南(最终修复版)

&#x1f4cb; 文章目录 引言功能概述环境准备核心实现步骤 地图初始化多边形绘制顶点编辑功能颜色与透明度自定义面积计算与显示 常见问题解决方案 多边形颜色显示异常面积标签不可见控制台alpha类型错误地图交互无法恢复 完整代码总结与扩展 引言 Cesium作为一款强大的3D地…

SQL判断先判断条件1是否符合,条件1不符合再判断条件2

伪代码假设存在条件1和条件2SELECT * FROM table1 WHERE 条件1 AND 条件2方法1&#xff1a;先判断条件1是否符合,条件1不符合再判断条件2是否满足&#xff1a;SELECT * FROM table1 WHERE (条件1) OR (NOT 条件1 AND 条件2);方法 2: 使用 IF 或数据库特有函数&#xff08;…

游戏的程序员会不会偷偷改自己账号的数据?

看到这个问题&#xff0c;我忍不住笑了。 作为一个在程序员这条路上摸爬滚打了快10年的老司机&#xff0c;虽然我主要专精嵌入式开发&#xff0c;但我也接触过不少游戏开发的朋友&#xff0c;对游戏行业的内部运作有一定了解。这个问题可以说是每个游戏玩家都曾经想过的&#x…