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

【爬虫】- 爬虫原理及其入门

爬虫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.dtcms.com/a/273658.html

相关文章:

  • 【批量文件查找】如何从文件夹中批量搜索所需文件复制到指定的地方,一次性查找多个图片文件并复制的操作步骤和注意事项
  • 基于Python的豆瓣图书数据分析与可视化系统【自动采集、海量数据集、多维度分析、机器学习】
  • 从Excel到PDF一步到位的台签打印解决方案
  • 学习笔记(34):matplotlib绘制图表-房价数据分析与可视化
  • Java小白-String
  • Allegro 17.4操作记录
  • 平板柔光屏与镜面屏的区别有哪些?技术原理与适用场景全解析
  • 飞算JavaAI:重构Java开发的“人机协同”新范式
  • Python数据读写与组织全解析(查缺补漏篇)
  • 使用Spring Boot和PageHelper实现数据分页
  • 【MySQL】———— 索引
  • 【字节跳动】数据挖掘面试题0016:解释AUC的定义,它解决了什么问题,优缺点是什么,并说出工业界如何计算AUC。
  • 【理念●体系】从零打造 Windows + WSL + Docker + Anaconda + PyCharm 的 AI 全链路开发体系
  • SQL开窗函数
  • 5G IMS注册关键一步:UE如何通过ePCO获取P-CSCF地址
  • 微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
  • 拓扑排序之 leetcode 207.课程表
  • 突破分子设计瓶颈:融合bVAE与GPU伊辛机的智能优化策略
  • Tomasulo算法是什么?
  • 【DataFlow】数据合成流水线工具
  • xFile:高性能虚拟分布式加密存储系统——Go
  • uniapp制作一个个人页面
  • Java结构型模式---组合模式
  • Elasticsearch混合搜索深度解析(下):执行机制与完整流程
  • 华为VS格行VS中兴VS波导随身WIFI6怎么选?流量卡OR随身WIFI,长期使用到底谁更香?
  • 从 0 到 1 玩转 upload-labs 靶场:环境搭建 + 全关卡漏洞解析
  • 零基础入门指南:华为数通认证体系详解
  • React 核心知识点速览:从基础到关键概念
  • Redis的性能优化与监控
  • Git 常用操作与注意事项全攻略