《0基础》学习Python——第十九讲__爬虫/<2>

一、用get请求爬取一般网页

        首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type

即:在所在浏览器页面按下F12键,之后点击网路-刷新,找到第一条双击打开标头即可查看上述所有内容,将上述URL、User-Agent所对应的值复制下来

例如我们想爬取下面这个页面

那么我们只需按下F12,按照我前面讲的,找到其URL、User-Agent,以及请求方式和内容格式,

分别如下:

1、

2、

3、

4、

以上便是爬取网页的关键用具了,接下来将开始写代码去爬取他的页面

首先我们获取了URL,那么变要进行get请求,但是我们需要有一个身份来获取网页的数据,如果不伪装一个身份,而直接以编译器的形式去爬取,大多数网页会识别到你是个爬虫,是个小偷,想要过来偷取我的数据,会直接将你驱逐出去,而不让你爬取他的数据,所以我们就使用UA伪装的方法去将自己伪装成一个浏览器,这样多数的网页就不会驱逐你,是你能够用爬取数据。

完成UA伪装后使用get请求,得到url对应的网页数据,就用content-type上看到的方式去打印这段数据,代码如下:

import requestshead = {  #进行UA伪装"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"
}url = "https://www.sogou.com/web?query=刘亦菲"# 2、发送请求 get带参数使用params参数
response = requests.get(url, headers=head)#打印数据,以content-type中写的方式去打印
print(response.text)

输出结果为:很长很长的数据

以上就是基础的打印出来了这个网页的所有数据,那么接下来就要将这段数据保存下来,然后对这段数据进行处理:

import requestshead = {  #进行UA伪装"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"
}url = "https://www.sogou.com/web?query=刘亦菲"# 2、发送请求 get带参数使用params参数
response = requests.get(url, headers=head)#打印数据,以content-type中写的方式去打印with open("./dilireba.html", "w", encoding="utf8") as fp:
fp.write(response.text)
print(type(response.text))

即将那一幅大串的数据存入html文件,dilireba.html,html是一个网页的原码存放文件,在左侧文件夹中找到这个文件并打开,

可以发现右上角有几个浏览器的logo,点击电脑里有的那个即可直接打开这个网页,得到如下结果

此时虽然页面摸样和之前那个一样,但是注意地址栏的地址,显示的是本地地址,即说明当前这个页面爬取成功,这看起来没什么用,但是后面我们会慢慢讲解为什么,比如从卖二手车的网页爬取车辆的图片以及名称报价,以及爬取网页的vip视频,小说的全部内容等等

下面是定义函数的方法去写上述的代码,仅供参考

import requests #导入爬虫库head = {  #进行UA伪装"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"
}# 这是get请求带参数的模式
def get_param():# 1、urlurl = "https://www.sogou.com/web?"# 2、发送请求 get带参数使用params参数response = requests.get(url, headers=head, params={"query": "刘亦菲"})# 3、获取想要的数据with open("./dilireba.html", "w", encoding="utf8") as fp:fp.write(response.text)print(type(response.text))if __name__ == '__main__':get_param()

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

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

相关文章

1.6、计算机系结构

Flynn分类法 Flynn分类法是1966年,M. J. Flynn提出的根据指令流、数据流的多倍性特征对计算机系统的分类方法。 指令流为机器执行的指令序列。数据流是由指令调用的数据序列。包括输入数据和中间结果,不包括输出数据 分类 Flynn把计算机系统的结构分…

初学MWA(Modern Web App)那些事-3-做一个简单的计算器

初学MWA(Modern Web App)那些事-3-做一个简单的计算器 目录 初学MWA(Modern Web App)那些事-3-做一个简单的计算器前言一、本节学习目标二、计算器实例项目创建过程2.1 创建一个HTML文档2.2 查看新建的html文档2.3 Web应用开发:初始化设置2.4…

linux C++ onnxruntime yolov8 视频检测Demo

linux C onnxruntime yolov8 视频检测Demo 目录 项目目录 效果 ​编辑CMakeLists.txt 代码 下载 项目目录 效果 ./yolov8_demo --help ./yolov8_demo -c2 -ptrue ./yolov8_demo -c1 -strue CMakeLists.txt # cmake needs this line cmake_minimum_required(VERSION 3…

AMD EPYC处理器性能宣称远超Nvidia Grace CPU

AMD近期发布了一份博客文章,其中对比了其EPYC处理器与Nvidia Grace Hopper Superchip(基于Arm架构的72核CPU)在一系列基准测试中的性能,声称EPYC处理器在多种工作负载下的表现最多可高出两倍。这一比较突显了AMD在数据中心CPU市场…

Covalent(CXT)运营商网络规模扩大 42%,以满足激增的需求

Covalent Network(CXT)是领先的人工智能模块化数据基础设施,网络集成了超过 230 条链并积累了数千名客户,目前 Covalent Network(CXT)网络迎来了五位新运营商的加入,包括 Graphyte Labs、PierTw…

使用PicGo操作gitee图床(及web端html不能访问图片的解决办法)

1.新建仓库 2.输入仓库名称,也就是图床名称,必须设置开源可见 也可以在创建仓库后,点击管理->基本信息->是否开源进行设置 鼠标悬浮到右上角头像->设置 点击私人令牌 点击生成新令牌,填写描述,直接点提交即可 点击提交后输入登录密码会生成一个token秘钥,如下,这个…

【C++】——初识模版

文章目录 前言函数模版函数模版的原理函数模版的实例化 类模版类模版的实例化 前言 当我们使用一个通用的函数: //为每一个类型都编写一个重载版本 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& …

在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法

文章目录 LinuxWindowsmacOS 在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法各有不同。以下是针对每种操作系统的详细步骤: Linux 使用DHCP客户端:大多数Linux发行版都使用DHCP(动态主机配置协议)来自动获取IP地址…

七、系统配置与性能评价(考点篇)

1 性能指标 性能指标,是软、硬件的性能指标的集成。在硬件中,包括计算机、各种通信交换设备、各类网 络设备等;在软件中,包括:操作系统、协议以及应用程序等。 1.计算机 对计算机评价的主要性能指标有: 时…

【嵌入式开发之数据结构】树的基本概念、逻辑结构和四种常用的遍历算法及实现

树(Tree)的定义及基本概念 树的定义 树(Tree)是个结点的有限集合T,它满足两个条件: 有且仅有一个特定的称为根(Root)的节点;其余的节点分为个互不相交的有限合集,其中每一个集合又…

日常开发记录分享——C#控件ToolTip实现分栏显示内容

文章目录 需求来源实现思路实施请看VCR等等别走,有优化 需求来源 需要在鼠标浮动到指定位置后提示出详细的信息,一开始使用的tooltip实现,但是里面的内容效果并不理想,需要有条理性,于是就想到能不能将展示的东西分列…

【Goland编辑器】Goland编辑器设置代码跳转的地方

记录一下: 关闭了插件里面proto相关的插件后, 在这里将Custom folding regions打开后, 点击代码跳转时,由proto生成的文件,就不会再跳转到proto定义处,而是跳转到代码使用的地方【正是我需要的】。

PHP接入consul,注册服务和发现服务【学习笔记】

PHP接入consul,注册服务和发现服务 consul安装 链接: consul安装 启动consul C:\Users\14684>consul agent -dev安装TP5 composer create-project topthink/think5.0.* tp5_pro --prefer-dist配置consul 创建tp5_pro/application/service/Consul.php <?php /*****…

linux版mysql8配置表名不区分大小写

mysql8的安装步骤可参考&#xff1a; mysql8的安装步骤 如果在安装mysql8&#xff0c;初始化之前&#xff0c;没有在my.cnf配置忽略大小写配置&#xff1a; [mysqld] lower_case_table_names1我们就需要重新初始化mysql 1 备份数据库文件 2 停止mysql服务 systemctl stop …

iOS开发设计模式篇第一篇MVC设计模式

目录 1. 引言 2.概念 1.Model 1.职责 2.实现 3.和Controller通信 1.Contrller直接访问Model 2.通过委托(Delegate)模式 3.通知 4.KVO 4.设计的建议 2.View 1.职责 2.实现 3.和Controller通信 1. 目标-动作&#xff08;Target-Action&#xff09;模式 2…

尾气处理系统工作原理

尾气处理系统工作原理 尾气处理系统是汽车发动机排放净化的重要部分&#xff0c;其中主要包括三元催化器、颗粒捕集器和尿素喷射系统等。以下是尾气处理系统的工作原理&#xff1a; 三元催化器&#xff1a;三元催化器是尾气处理系统中最常见的部件&#xff0c;三元催化器是尾气…

汉明权重(Hamming Weight)(统计数据中1的个数)VP-SWAR算法

汉明权重&#xff08;Hamming Weight&#xff09;&#xff08;统计数据中1的个数&#xff09;VP-SWAR算法 定义 汉明重量是一串符号中非零符号的个数。它等于同样长度的全零符号串的汉明距离(在信息论中&#xff0c;两个等长字符串之间的汉明距离等于两个字符串对应位置的不同…

USB转多路串口 - USB CDC设备枚举

先上参考资料&#xff1a; ST社区的&#xff1a; <<USB CDC类入门培训.pdf>>STM32 USB如何配置多个CDC设备状态与枚举过程CDC串口之从认识到认知 USB CDC 类基础 CDC(Communication Device Class)类是 USB2.0 标准下的一个子类&#xff0c;定义了通信相关设备的抽…

在Ubuntu上安装移远EC200M驱动

最近公司在做降本相关工作&#xff0c;考虑移远 EC20 4G模组成本较高&#xff0c;希望通过更低成本替换硬件&#xff0c;最后找到EC200M芯片&#xff0c;虽然EC200M速率(最大下行10M/s 最大上行5M/s)上低于EC20&#xff08;最大下行150M/s 最大上行50M/s&#xff09;,基本上可以…

tongue通lingual:灵根,舌也!

灵&#xff0c;指心灵、精神意识&#xff1b;灵根&#xff1a;汉语“灵根”&#xff0c;通常指人的舌头主。舌头是人心灵的表达根器&#xff0c;因此&#xff0c;灵根——指心灵外化的肉身凭据、可以像树根&#xff08;或一切植物根部&#xff09;一样延伸、像树根一样重要身体…