python-爬虫基础

爬虫本质:通过编写程序来获取到互联网上的资源。

我们的程序本质上就是模拟浏览器

一个简单的小爬虫:

只需要三步:

from urllib.request import urlopen

#url是网址,request意思是请求

e7baf3d798194288a840866057a1a1db.png

这里跑出来的中文是这样的dab7cf6818644abdbca32193fb28b8f8.png注意看:前面有一个b',这代表后面的是字节,也就是说我们需要自己把它这个还原成我们想要看到的字符串,我们可以这样还原:

e1579f2502e446fc8a801f6b0edffc15.png

不过这里面的问题就来了,我们解码是按照utf-8还是jdk呢?其实源代码里有写的:f48f7c60c43a44b08b35b0fbee6e30f7.png所以这个地方是:

37b4f66254504693b38a686d02495996.png

现在就变成中文的了:

0aa6e7d1094a4ba8a4e6228ae5eede60.png

不过现在还是有个问题,我们得到的源码里面一大堆看不懂的东西。我们先把它们保存到一个文件里去。a9983deca7324443964c65119993b875.png如果文件里出现乱码,就:

0ea7a928a6c24a298e973e6328563003.png7750072c157d4247b1571ad7d6c01000.png

我们拿到了这些东西:191a111ba13340e783e7e581c9edbca7.png其实我们的浏览器拿到的也是这些东西,只是浏览器把它运行成这个样子:

990655304cf7481a95a160b022b97fb5.png浏览器里我们只要输入网址,按下回车,就相当于发送了一个请求。

web请求过程剖析:

响应分为两种,一种是服务器渲染,另一种是客户端渲染。服务器渲染就是在服务器端把数据和html源码结合在一起,我们要的数据在html源码里,客户端渲染是第一次请求的时候只返回html框架,第二次请求的时候把关键字发给服务器,服务器再把数据返回,也就是说html源码和数据是分开的

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

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

相关文章

单元化架构

目录 ​​​​​​​​编辑 单元化 逻辑单元 单元化 多地多机房部署,是互联网系统的必然发展方向,一个系统要走到这一步,也就必然要解决上面提到的问题:流量调配、数据拆分、延时等。业界有很多技术方案可以用来解决这些问题&…

【免杀】C2免杀技术(五)动态API

一、什么是动态API 在C2免杀领域中,“动态API” 主要指的是绕过静态检测的一种技术手段,其本质是运行时动态解析和调用Windows API函数,而不是在程序编译阶段就明确引用这些API。这种方式可以有效躲避静态分析工具和杀软的签名识别。 为什么…

Python爬虫实战:研究JavaScript压缩方法实现逆向解密

一、引言 在数字化信息爆炸的时代,网络数据已成为驱动各行业发展的核心资产。Python 凭借其丰富的库生态和简洁的语法,成为网络爬虫开发的首选语言。然而,随着互联网安全防护机制的不断升级,网站普遍采用 JavaScript 压缩与混淆技术保护其核心逻辑和数据传输,这使得传统爬…

HTTP 请求走私(HTTP Request Smuggling)

HTTP 请求走私(HTTP Request Smuggling)是一种通过利用前端代理(如负载均衡器、CDN)和后端服务器在 解析 HTTP 请求时存在不一致性 的漏洞,从而实现 注入恶意请求 的攻击技术。 一、基本原理 HTTP 请求走私主要依赖两…

【Google机器学习实践指南(线性回归篇)

🔍 Google机器学习实践指南(线性回归篇) Google机器学习实战(3)-单变量线性回归核心解析,掌握房价预测模型 一、建模流程全景图 ▲ 四大核心步骤: 数据可视化→特征工程→模型训练→预测推理 二、房价预测实战 1. …

python打卡day16

NumPy 数组基础 因为前天说了shap,这里涉及到数据形状尺寸问题,所以需要在这一节说清楚,后续的神经网络我们将要和他天天打交道。 知识点: numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引&#xff1a…

ubuntu 20.04 更改国内镜像源-阿里源 确保可用

镜像源是跟linux版本一一对应的,查询自己系统的版本号: 命令:lsb_release -a macw:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal macw:~$…

基于OpenCV的SIFT特征和FLANN匹配器的指纹认证

文章目录 引言一、概述二、代码解析1. 图像显示函数2. 核心认证函数2.1 创建SIFT特征提取器2.2 检测关键点和计算描述符(源图像)2.3 检测关键点和计算描述符(模板图像)2.4 创建FLANN匹配器2.5 使用K近邻匹配 3. 匹配点筛选4. 认证…

四品种交易策略

策略概述 策略思路: 交易品种:同时交易四个品种,每个品种使用总资金的10%。 合约选择:使用连续合约(data0)发出交易信号,实际交易 主力合约(data1)和下一个主力合约(data2)。 资金管理:总资金用A_CurrentEquity表示,交易手数据此计算。 止损执行:盘中达到止损…

MySQL事务的一些奇奇怪怪知识

Gorm事务有error却不返回会发生什么 Gorm包是大家比较高频使用。正常的用法是,如果有失败返回error,整体rollback,如果不返回error则commit。下面是Transaction的源码: // Transaction start a transaction as a block, return …

时序数据库、实时数据库与实时数仓:如何为实时数据场景选择最佳解决方案?

随着物联网、金融交易、在线游戏等场景对实时数据处理需求的增长,市场上涌现出多种专门针对实时数据处理的数据库解决方案。然而,面对时序数据库、实时数据库和实时数据仓库这三种看似相似的技术,许多技术决策者常常感到困惑:它们…

Spring3+Vue3项目中的知识点——JWT

全称:JOSN Web Token 定义了一种简洁的、自包含的格式,用于通信双方以json数据格式的安全传输信息 组成: 第一部分:Header(头),记录令牌类型、签名算法等。 第二部分:Payload&am…

微服务架构详解

微服务架构详解:从概念到实践(附代码案例) 目录 微服务架构详解:从概念到实践(附代码案例) 一、微服务架构概述 1.1 什么是微服务? 1.2 微服务的核心思想 二、微服务架构的优势与挑战 2.1 优势 2.2 挑战 三、微服务架构的核心组件 3.1 服务注册与发现 示例代…

linux下编写shell脚本一键编译源码

0 前言 进行linux应用层编程时,经常会使用重复的命令对源码进行编译,然后把编译生成的可执行文件拷贝到工作目录,操作非常繁琐且容易出错。本文编写一个简单的shell脚本一键编译源码。 1 linux下编写shell脚本一键编译源码 shell脚本如下&…

学习!FastAPI

目录 FastAPI简介快速开始安装FastApiFastAPI CLI自动化文档 Reqeust路径参数Enum 类用于路径参数路径参数和数值校验 查询参数查询参数和字符串校验 请求体多个请求体参数嵌入单个请求体参数 CookieHeader表单文件直接使用请求 ResponseResponse Model多个关联模型 响应状态码…

DAY 4 缺失值的处理

\1. 打开数据 import pandas as pd data pd.read_csv(rdata.csv) data\2. 查看数据 # 打印数据集的基本信息(列名、非空值数量、数据类型等) print("data.info() - 数据集的基本信息(列名、非空值数量、数据类型等)&#…

Java面试实战:从Spring Boot到分布式缓存的深度探索

Java面试实战:从Spring Boot到分布式缓存的深度探索 场景介绍 在一家著名的互联网大厂,面试官老王正对求职者“水货程序员”明哥进行Java技术面试。明哥带着一点紧张和自信,迎接这场技术“拷问”。 第一轮:基础问题 老王&#…

UART、SPI、IIC复习总结

一、UART 1、UART和USART的异同? 相同点 基本功能:都是用于串行通信的数据收发设备,能够实现数据在不同设备之间的传输。在异步通信模式下,二者的工作方式相似,都使用起始位、数据位、校验位(可选&#…

PostGIS实现矢量数据转栅格数据【ST_AsRaster】

ST_AsRaster函数应用详解:将矢量数据转换为栅格数据 [文章目录] 一、函数概述 二、函数参数与分组说明 三、核心特性与注意事项 四、示例代码 五、应用场景 六、版本依赖 七、总结 一、函数概述 ST_AsRaster是PostGIS中用于将几何对象(如点、线…

Linux 线程(上)

前言:大家早上中午晚上好!!今天来学习一下linux系统下所谓的线程吧!!! 一、重新理解进程,什么是进程? 1.1 图解 其中黑色虚线部分一整块就是进程,注意:一整…