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

Python爬虫入门教程

文章目录:

一:Python基础

二:爬虫须知

1.流程

2.遵守规则

三:HTTP请求和响应

1.相关定义 

2.HTTP请求响应 

2.1 完整的HTTP请求

2.2 完整的HTTP响应

3.Requests库

四:HTML

1.HTML网页结构

2.常用标


参考:Python+爬虫

一:Python基础

Python快速入门教程

二:爬虫须知

1.流程

第一步:获取网页内容(Requests库发送HTTP请求)第二步:解析网页内容(Beautiful Soup库获取HTML网页结构内容信息)第三步:储存或分析数据

2.遵守规则

1.不要爬取公民隐私数据2.不要爬取受著作权保护的内容3.不要爬取国家事务国防建设和尖端技术领域
4.请求数量和频率不能过高:否则可能无异于DDos攻击5.有反扒限制就不要去爬取了:需要登录、验证码6.查看网站的robots.txt文件:了解可爬取的网页路径范围

三:HTTP请求和响应

1.相关定义 

HTTP:超文本传输协议客户端和服务器之间的请求响应协议请求方法Get:获得数据Post:创建数据接收的响应数据类型HTML:text/htmlJSON:application/jsonHTML和JSON:text/html,application/json任意类型:/*/常见的状态码和状态消息200 ok                              客户端请求成功300 Moved Permanently               重定向资源被永久移动到新地址400 Bad Request                     客户端不能被服务器所理解401 Unauthorized                    请求未经授权403 Forbidden                       服务器拒绝提供服务404 Not Found                       请求资源不存在500 Internal Server Error           服务器发生不可预期的错误503 Server Unavailable              服务器当前不能处理客户端的请求

2.HTTP请求响应 

2.1 完整的HTTP请求

POST请求#请求行                        协议版本POST/user/info?new_user=true HTTP/1.1#请求头  域名             资源路径           查询参数Host:www.douban.com/movie/top250?start=75&filter=unwatchedUser-Agent:curl/7.77.0Accept:*/*#请求体{"username":"刘鑫磊","email":"123@qq.com"}GET请求#请求行GET/user/info?new_user=true HTTP/1.1#请求头Host:www.example.comUser-Agent:curl/7.77.0Accept:*/*

2.2 完整的HTTP响应

#状态行:协议版本 状态码 状态消息
HTTP/1.1 200 OK
#响应头
Date:Fri,27 Jan 2023 02:10:48 GMT
Content-Type:text/html;charset=utf-8
#响应体
<!DOCTYPE html><head><title>首页</title></head><body><h1>刘鑫磊</h1><p>非常棒</p></body>
</html>

3.Requests库

#在终端输入(视图——>工具窗口——>终端):pip install requests
import requests#把爬虫程序伪装成正常的浏览器
#任意网页——>鼠标右键——>检查——>Network——>User-Agent——>复制过来
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}response=requests.get("http://movie.douban.com/top250",headers=headers)
print(response)
print(response.status_code)
if response.ok:# 获取响应体内容print(response.text)
else:print("请求失败")

四:HTML

1.HTML网页结构

<!DOCTYPE HTML>
<html><body><h1>我是标题</h1><p>我是一段文字</p></body>
</html>

2.常用标

标题:<h1></h1>文本段落:<p></p>换行:<br>图片:<img src="图片链接">链接:<a href="链接地址" target="_self"></a>       target="_blank"容器:<span></span>                               内联元素不会独占一块,一行可写多个有序列表:<ol><li></li></ol>
无序列表:<ul><li></li></ul>表格<table><thead>                 #头部<tr>                #行<td></td>       #列</tr><thead><tbody>                 #主体<tr>                # 行<td></td>       # 列</tr></tbody></table>class属性:定义元素的类名称,帮助我们分组class="content"     class="review"

相关文章:

Python爬虫入门教程

文章目录&#xff1a; 一&#xff1a;Python基础 二&#xff1a;爬虫须知 1.流程 2.遵守规则 三&#xff1a;HTTP请求和响应 1.相关定义 2.HTTP请求响应 2.1 完整的HTTP请求 2.2 完整的HTTP响应 3.Requests库 四&#xff1a;HTML 1.HTML网页结构 2.常用标 参考&…...

使用正则前瞻检查密码强度

使用正则前瞻检查密码强度 题目要求 要求密码必须包含大小写字母&#xff0c;并且至少包含 $,_. 中的一个特殊字符。 在这道题中&#xff0c;我们可以使用正则表达式的前瞻运算来实现。 const reg /^(?.*\d)(?.*[a-z])(?.*[A-Z])(?.*[$,_.])[\da-zA-Z$,_.]{6,12}/;con…...

react+ts手写cron表达式转换组件

前言 最近在写的一个分布式调度系统&#xff0c;后端同学需要让我传入cron表达式&#xff0c;给调度接口传参。我去了学习了解了cron表达式的用法&#xff0c;发现有3个通用的表达式刚好符合我们的需求&#xff1a; 需求 每天 xx 的时间&#xff1a; 0 11 20 * * ? 上面是…...

民安智库(第三方市民健康素养调研)居民健康素养调查的重要性及实施步骤

一、背景和意义 健康素养是衡量一个社区或国家居民对健康知识的理解&#xff0c;以及他们如何将这些知识应用于日常生活中的能力的重要指标。它不仅包括了基本的医学知识&#xff0c;如疾病预防和治疗&#xff0c;也包括了生活方式的改善&#xff0c;如合理饮食和适当运动。因…...

Linux | vim的入门手册

目录 前言 一、什么是vim 二、vim编辑器的模式 1、插入模式 &#xff08;1&#xff09;用vim打开文件 &#xff08;2&#xff09;进入插入模式 2、默认模式 &#xff08;1&#xff09;光标移动 &#xff08;2&#xff09;复制、粘贴与剪切操作 &#xff08;3&#x…...

B053 项目部署

目录 Linux简介虚拟机软件安装安装centos步骤备份系统网络设置 远程访问Linux步骤永久关闭CentOS防火墙 linux命令linux文件系统linux常用命令目录相关命令文件相关命令 安装JDK先卸载自带的JDK安装JDK复制压缩包到linux解压配置环境变量 安装MySql清理旧文件安装mysqlMysql编码…...

视觉Slam面试题(不定时更新)

文章目录 0 引言1 单目、双目、深度相机和RGBD相机的区别2 特征点法与直接法的优缺点3 等距变换、相似变换、仿射变换、射影变换的区别4 单应矩阵、本质矩阵和基础矩阵的区别5 Slam中为什么用李群李代数6 解释Slam中的绑架问题7 ORB、SIFT和SURF特征点检测算法的区别8 什么是对…...

从入门到进阶 之 ElasticSearch 节点配置 集群篇

&#x1f339; 以上分享 ElasticSearch 安装部署&#xff0c;如有问题请指教写。&#x1f339;&#x1f339; 如你对技术也感兴趣&#xff0c;欢迎交流。&#x1f339;&#x1f339;&#x1f339; 如有需要&#xff0c;请&#x1f44d;点赞&#x1f496;收藏&#x1f431;‍&a…...

UE4中无法保存项目问题

系列文章目录 文章目录 系列文章目录前言一、解决方法 前言 取消&#xff1a;停止保存所有资产并返回编辑器。 重试&#xff1a;尝试再次保存资产。 继续&#xff1a;仅跳过保存该资产。 当我点击继续时&#xff0c;关闭项目&#xff0c;然后重新打开项目&#xff0c;发现之前…...

解剖—顺序表相关OJ练习题

目录 一、删除有序数组中的重复项&#xff0c;返回出现一次元素的个数。 二、原地移除数组中所有数值等于val的元素 三、合并两个有序数组 四、旋转数组 五、数组形式的整数加法 一、删除有序数组中的重复项&#xff0c;返回出现一次元素的个数。 26. 删除有序数组中的重…...

NAT网关在阿里云的应用

NAT网关&#xff08;Network Address Translation Gateway&#xff09;是一种网络地址转换服务&#xff0c;提供NAT代理&#xff08;SNAT和DNAT&#xff09;能力。NAT是用于在本地网络中使用私有地址&#xff0c;在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决I…...

操作系统体系结构和OS

1.冯诺依曼计算机体系 关于冯诺伊曼系统&#xff0c;在这里我只是简单讲一讲&#xff0c;更加详细的内容可以看我的计算机组成系列。 常见的笔记本、台式机&#xff0c;不常见的服务器、工作站&#xff0c;大部分都遵守“冯诺依曼体系”&#xff0c;因此该计算机体系就是现代…...

Flutter ☞ 常量

常量 只能被定义一次&#xff0c;并且不可修改的值叫做常量。 在 Flutter 中有两种常量修饰方法 finalconst 相同点 类型声明可以省略 final String a 123; final a 123;const String a 123; const a 123;初始化后不能再赋值 final a 123; a abc; // 错误const a …...

C++ 配置VSCode开发环境

C配置VSCode开发环境 简介 Visual Studio Code (VSCode) 是一款开源的轻量级代码编辑器。它支持许多编程语言&#xff0c;包括C。本文档将详细介绍如何在Windows环境下配置VSCode的C开发环境。 安装步骤 1. 安装Visual Studio Code 首先&#xff0c;你需要下载并安装Visua…...

Arduino_STM32整理贴

Arduion-STM32 stm32duino 让stm32 在arduino中使用 源代码&#xff1a;https://github.com/stm32duino/Arduino_Core_STM32 busybox文件位置 stm32duino 下有个stm32tool 项目&#xff0c;内含有busybox.exe 使用usb转TTL烧写 使用 PA9 PA10 端口 PA9接 RX ,PA10接 TX …...

MoeCTF 2023 Web+Jail wp

----------签到---------- hello CTFer 给了一个URL&#xff0c;是赛博厨子解码base64的flag&#xff0c;flag直接给了。 远程端口转发&#xff1a; 这次比赛估计好多大师傅都没参加&#xff0c;题目环境是在本机内网上的&#xff08;比如localhost:52005&#xff09;导致请…...

494.目标和 474.一和零

目标和 题目 给一个都是正整数的组合&#xff0c;然后你可以在里面任意添加或-&#xff0c;求使得最后结果为 目标和S&#xff08;target&#xff09;的有多少种方法&#xff1f; 范围 数组非空&#xff0c;且长度不会超过 20 。初始的数组的和不会超过 1000 。保证返回的…...

模拟电源与数字电源之间的区别

BOSHIDA 模拟电源与数字电源之间的区别 模拟电源与数字电源是两种不同的电源类型&#xff0c;其核心区别在于电源控制方式和输出特性。本文将从这两方面对模拟电源和数字电源进行比较和分析。 电源控制方式&#xff1a; 模拟电源的控制方式以模拟电压和模拟电流为基础。模拟电…...

P5461 赦免战俘

题目描述 现有 2 n 2 n ( n ≤ 10 ) 2^n\times 2^n (n\le10) 2n2n(n≤10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵&#xff0c;每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵…...

【工具】转码silk格式为mp3

【工具】转码slk格式为mp3 前提 安装 ffmpeg 【安装】Linux安装ffmpeg_linux安装ffmpeg4.4_我是Superman丶的博客-CSDN博客 GitHub - kn007/silk-v3-decoder: [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to o…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...