当前位置: 首页 > 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…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...