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

爬虫(学习笔记)

python爬虫

  • 一、Python基础回顾
    • 变量类型
    • 其他操作
    • 面向对象编程
  • 二、爬虫流程
  • HTTP协议
  • HTML
  • 爬虫demo01
  • 爬虫demo02


  • 学习资料
    Python+爬虫
    爬虫实战案例
    AI学堂爬虫教学

一、Python基础回顾

变量类型

可变类型:可以进行添加、修改、删除
(列表、字典…)
不可变类型:不可以进行上述操作
(数字、字符串、元组…)

知识点阐释举例
数字
不可变类型
标准数据类型之一i整数、浮点数
字符串
不可变类型
标准数据类型之一str = “Hello World!”
len(str)求长度,包含空格print(len(str))
结果为12
str[1]字符串索引,从0开始print(str[0]) = e
str[2:7]返回字符串中第三个至第六个之间的字符串print(str[2:5]) = llo Wo
str[2:]返回从第三个字符开始的字符串print(str[2:]) = llo World!
列表
可变类型
方括号[ ]
标准数据类型之一list = [123,‘orange’,66.6,‘apple’,100]
len(list)列表中元素的个数print(len(list))
结果为5
list[1]返回列表中第二个元素print(list[0]) = orange
list[1:4]返回列表中第二个元素到第四个元素print(list[1:4]) = [‘orange’,66.6,‘apple’]
list[2:]返回从第三个元素开始至列表末尾所有元素print(list[2:]) = [66.6,‘apple’,100]
list.append(‘banana’)添加元素print(list) = [123,‘orange’,66.6,‘apple’,100,‘banana’]
list.remove(’apple‘)删除元素print(list) = [123,‘orange’,66.6,100,‘banana’]
max( )、min( )、soted( )全是数字的列表找最大值、最小值、递增排序函数函数括号中放列表名称即可,返回结果分别是数字、数字、列表
元组
不可变类型
圆括号( )
标准数据类型之一元组是不可变类型
不能进行添加、删除操作
字典
“键”不可变类型
"字典”是可变类型
标准数据类型之一
键key值value对,用键查找值
dict={“a”:“001”,
“b”:“002”,
“c”:“003”}
“键与值”之间用冒号隔开,“键值对”之间用逗号隔开
len(dict)键值对个数print(len(dict))
结果为3
dict[“a”]查找键对应的值print(dict[“a”]) = 001
dict.keys()返回所有键print(dict.keys()) = dict_keys([‘a’, ‘b’, ‘c’])
dict.values()返回所有值print(dict.values()) = dict_values([‘001’, ‘002’, ‘003’])
dict.items()返回所有键值对
添加键值对dict[“d”] = “004”print(dic) =
{‘a’: ‘001’,
‘b’: ‘002’,
‘c’: ‘003’,
‘d’: ‘004’}
删除键值对del dict[“a”]print(dict) =
检查键是否存在print(“a” in dict)
返回布尔值
True则为存在
元组作为键dict = {(“张伟”,21):“001”,
(“张伟”,34):“002”,
(“张伟”,44):“003”}
其中(张伟,xx)是不可变的元组类型
由于年龄不同,则可区分不同的张伟,并根据需要输出对应的值

其他操作

知识点阐释举例
type( )返回对象类型的函数type(None)
结果为<class ‘None Type’>
input( )从控制台获取输入,一律返回字符串
需要将结果赋值给一个变量
print中 “+” 只能用于字符串的连接
age = input(“请输入年龄:”)
print(“年龄为” + age)
强制类型转换int( )、float( )、str( )
将input的返回值改成需要的类型
age = int(input(“请输入年龄:”))
xu_age = age + 1
print(“虚岁为” + str(xu_age))
range(5,10)range(起始,终止-1)for i in range(5,10)
i 被依次赋值为5,6,7,8,9不包含10
range(1,10,2)range(起始,终止-1,步长)i 依次被赋值为1 3 5 7 9
range(5)默认起始值为0,终止值为5,步长为1
format格式化输出gpa_dict = {“a”:3.251,“b”:3.869,“c”:4.256}
for name,gpa in gpa_dict.items():
print(“{0}的绩点为{1}”.format(name,gpa))
f “你的年龄为{age}”格式化输出f加花括号加变量
def 函数名():函数定义,别忘记加冒号
按住ctrl+函数名查看具体函数实现

面向对象编程


二、爬虫流程

  1. 确定目标网站
  2. 得到该网站的 URL
  3. 对该 URL 发起请求获取页面的 HTML 代码
  4. 使用解析工具从 HTML 中获取数据
  5. 将获取到的数据保存到 JSON 或 CSV 文件中或者保存成其他格式

HTTP协议

HTML

爬虫demo01

爬虫demo02

相关文章:

爬虫(学习笔记)

python爬虫 一、Python基础回顾变量类型其他操作面向对象编程 二、爬虫流程HTTP协议HTML爬虫demo01爬虫demo02 学习资料 Python爬虫 爬虫实战案例 AI学堂爬虫教学 一、Python基础回顾 变量类型 可变类型&#xff1a;可以进行添加、修改、删除 &#xff08;列表、字典…&#x…...

让业务满意的性能测试报告模板应该是怎样的?

前言 先前在北京出差&#xff0c;和同事聊到了一个关于流量网关如何进行性能验证的需求&#xff0c;当时专门与同事进行了一番讨论&#xff0c;后面写了一篇相关文章。 结果没过多久同事找到我&#xff0c;希望我帮他们写一份给到业务团队的性能测试报告&#xff0c;原因是业…...

高防IP如何保护服务器

首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段&#xff0c;主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段&#xff0c;用户可以通过配置DDoS高防IP&#xff0c;将攻击流量引流到高防IP&#xff0c;防…...

C++提高编程——STL:string容器、vector容器

本专栏记录C学习过程包括C基础以及数据结构和算法&#xff0c;其中第一部分计划时间一个月&#xff0c;主要跟着黑马视频教程&#xff0c;学习路线如下&#xff0c;不定时更新&#xff0c;欢迎关注。 当前章节处于&#xff1a; ---------第1阶段-C基础入门 ---------第2阶段实战…...

three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程004 - three.js透视相机&#xff08;PerspectiveCamera&#xff09;滚动浏览全景大图</title><script src"js/three.js"&g…...

Gradle 笔记

Gradle依赖管理&#xff08;基于Kotlin DSL&#xff09; **注意&#xff1a;**如果不是工作原因或是编写安卓项目必须要用Gradle&#xff0c;建议学习Maven即可&#xff0c;Gradle的学习成本相比Maven高很多&#xff0c;而且学了有没有用还是另一回事&#xff0c;所以&#xff…...

flume案例

在构建数仓时&#xff0c;经常会用到flume接收日志数据&#xff0c;通常涉及到的组件为kafka&#xff0c;hdfs等。下面以一个flume接收指定topic数据&#xff0c;并存入hdfs的案例&#xff0c;大致了解下flume相关使用规则。 版本&#xff1a;1.9 Source Kafka Source就是一…...

信用评价研究MATLAB仿真代码

信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有: (1)研究最大交易额和信用度的关系 (2)研究买家不评价率对信用度影响 (3)研究交易次数对信用度影响 MATLAB程序如下: 主程序main.m %% clc;close a…...

网络安全产品之认识防毒墙

在互联网发展的初期&#xff0c;网络结构相对简单&#xff0c;病毒通常利用操作系统和软件程序的漏洞发起攻击&#xff0c;厂商们针对这些漏洞发布补丁程序。然而&#xff0c;并不是所有终端都能及时更新这些补丁&#xff0c;随着网络安全威胁的不断升级和互联网的普及&#xf…...

android 防抖工具类,经纬度检查工具类

一&#xff1a;点击事件防抖工具类&#xff1a; public abstract class ThrottleClickListener implements View.OnClickListener {private long clickLastTimeKey 0;private final long thresholdMillis 500;//millisecondsOverridepublic void onClick(View v) {long curr…...

PgSQL - 17新特性 - 块级别增量备份

PgSQL - 17新特性 - 块级别增量备份 PgSQL可通过pg_basebackup进行全量备份。在构建复制关系时&#xff0c;创建备机时需要通过pg_basebackup全量拉取一个备份&#xff0c;形成一个mirror。但很多场景下&#xff0c;我们往往不需要进行全量备份/恢复&#xff0c;数据量特别大的…...

Vue3setup()的非语法糖和语法糖的用法

1、setup()的语法糖的用法 script标签上写setup属性&#xff0c;不需要export default {} setup() 都可以省 创建每个属性或方法时也不需要return 导入某个组件时也不需要注册 <script setup > // script标签上写setup属性&#xff0c;不需要export default {} set…...

HTTP状态信息

1xx: 信息 消息:描述:100 Continue服务器仅接收到部分请求&#xff0c;但是一旦服务器并没有拒绝该请求&#xff0c;客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议&#xff1a;服务器将遵从客户的请求转换到另外一种协议。 2xx: 成功 消息:描述:200…...

CSS之边框样式

让我为大家介绍一下边框样式吧&#xff01;如果大家想更进一步了解边框的使用&#xff0c;可以阅读这一篇文章&#xff1a;CSS边框border 属性描述none没有边框,即忽略所有边框的宽度(默认值)solid边框为单实线dashed边框为虚线dotted边框为点线double边框为双实线 代码演示&…...

k8s-helm

Helm: 什么是helm,在没有这个heml之前&#xff0c;deployment service ingress的作用就是通过打包的方式&#xff0c;把deployment service ingress这些打包在一块&#xff0c;一键式的部署服务&#xff0c;类似于yum 官方提供的一个类似于安全仓库的功能&#xff0c;可以实现…...

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…...

【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min

最近换了Macbook的Air电脑&#xff0c;自然要换很多新软件啦&#xff0c;首先需要安装的就是R和Rstudio啦&#xff0c;网上的教程很多很繁琐&#xff0c;为此我特意总结了最简单实用的安装方式: 一、先R后Rstudio 二、R下载 下载网址&#xff1a;https://cran.r-project.org …...

探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧

在软件开发的赛场上&#xff0c;单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员&#xff0c;它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱&#xff0c;从历史渊源到现代应用&#xff0c;从基础实现到高级技巧&#xf…...

SpringCloud Aliba-Seata【上】-从入门到学废【7】

目录 &#x1f9c2;.Seata是什么 &#x1f32d;2.Seata术语表 &#x1f953;3.处理过程 &#x1f9c8;4.下载 &#x1f37f;5.修改相关配置 &#x1f95e;6.启动seata 1.Seata是什么 Seata是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能…...

C# Cad2016二次开发选择csv导入信息(七)

//选择csv导入信息 [CommandMethod("setdata")] //本程序在AutoCAD的快捷命令是"DLLLOAD" public void setdata() {Microsoft.Win32.OpenFileDialog dlg new Microsoft.Win32.OpenFileDialog();dlg.DefaultExt ".csv";// Display OpenFileDial…...

告别手改脚本!用CANoe Panel面板做个变量控制台,测试效率翻倍

告别手改脚本&#xff01;用CANoe Panel面板打造智能变量控制台 在车载网络测试领域&#xff0c;效率提升往往隐藏在那些被忽视的日常操作细节中。当测试工程师频繁打开CAPL脚本修改超时阈值、调整诊断ID或切换测试模式时&#xff0c;不仅打断了工作流&#xff0c;更在团队协作…...

3步轻松掌握:163MusicLyrics歌词下载完全指南

3步轻松掌握&#xff1a;163MusicLyrics歌词下载完全指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到高质量的LRC歌词而烦恼吗&#xff1f;163MusicLyri…...

第07章 FastMCP 把检索封装成 Agent 工具

第07章 FastMCP 把检索封装成 Agent 工具 工单知识库已经能在 Python 进程内被普通函数调用&#xff0c;但要让外部 Agent、Web 后端或其他语言的客户端使用这份能力&#xff0c;函数级别的接口不够&#xff1a;缺少协议、缺少描述、缺少跨进程通讯。MCP&#xff08;Model Cont…...

无线渗透测试框架Airecon:自动化工具链整合与实战应用

1. 项目概述与核心价值最近在整理自己的渗透测试工具箱时&#xff0c;又翻出了pikpikcu/airecon这个老伙计。说实话&#xff0c;在无线安全评估这个细分领域里&#xff0c;它可能不是名气最响的那个&#xff0c;但绝对是我个人在内部网络渗透和红队演练中最顺手、最高效的“组合…...

SOCD Cleaner终极指南:彻底解决游戏键盘方向冲突的免费开源神器

SOCD Cleaner终极指南&#xff1a;彻底解决游戏键盘方向冲突的免费开源神器 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 还在为格斗游戏中同时按下W和S导致角色卡顿而烦恼吗&#xff1f;或者在射击游戏急停转…...

MemPrivacy:面向端云智能体的隐私保护个性化记忆管理框架

之前文章介绍过&#xff1a;89.2%攻击成功率&#xff01;腾讯、字节研究发现 OpenClaw Agent 存在可利用结构性漏洞 今天介绍一个 MemPrivacy 项目&#xff0c;来自 MemTensor、荣耀和同济大学的联合团队。 他们的研究让云端智能体能正常"记住你"&#xff0c;但永远看…...

生物信息学逆向解析mRNA疫苗序列:从公开数据组装BNT-162b2与mRNA-1273的基因蓝图

1. 项目概述与背景解析 最近在生物信息学和疫苗研究领域&#xff0c;一个名为“NAalytics/Assemblies-of-putative-SARS-CoV2-spike-encoding-mRNA-sequences-for-vaccines-BNT-162b2-and-mRNA-1273”的项目引起了我的注意。这个项目标题看起来很长&#xff0c;但核心非常明确&…...

跨越平台限制:如何用WorkshopDL免费获取Steam创意工坊模组

跨越平台限制&#xff1a;如何用WorkshopDL免费获取Steam创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为Epic Games或GOG平台无法访问Steam创意工坊而烦恼吗…...

Token工厂:从“卖流量”到“卖Token”:中国移动砸百亿建Token生态,三大运营商的AI战争升级,阿里,百度,华为,字节跟进

5月9日&#xff0c;2026移动云大会上&#xff0c;中国移动市场经营部总经理邱宝华扔出一个新概念——"Token运营体系"。未来3-5年&#xff0c;中国移动将投入百亿级Token生态资源&#xff0c;建设千亿级算力基础设施&#xff0c;携手共创万亿级AI产业价值。"百亿…...

Docker化OpenOffice部署:文档自动化转换服务实战指南

1. 项目概述与核心价值最近在折腾一个老项目&#xff0c;需要处理一批.odt格式的文档&#xff0c;这让我想起了那个曾经在开源办公软件领域与微软Office分庭抗礼的“老将”——OpenOffice。虽然现在LibreOffice的风头更盛&#xff0c;但OpenOffice依然有其独特的生态位和用户群…...