利用Python爬虫获取xx数据

目录

一、前言

二、requests 请求库

1、requests 安装

2、requests 的基本使用

三、Beautiful Soup

1、Beautiful Soup 安装

2、BeautifulSoup对象介绍与创建

3、BeautifulSoup对象的find方法

四、总结


一、前言

什么是爬虫?

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端发送网络请求,获取响应数据,一种按照一定的规则,自动地抓取万维网信息的程序或脚本。

他的作用是什么?

从万维网上获取, 我们需要的信息。

二、requests 请求库

requests 是一个基于 Python 的 HTTP 请求库,它简化了发送 HTTP 请求和处理响应的过程。使用 requests 库,开发者可以轻松地发送 GET、POST、PUT、DELETE 等类型的请求,并处理返回的数据。requests 库提供了简洁易用的 API 接口,使得进行 HTTP 请求变得非常方便。它支持 SSL、连接池、Cookie 持久化、代理、认证等功能,是 Python 中常用的 HTTP 请求库之一,广泛应用于网络爬虫、Web 开发等领域。

1、requests 安装

终端(命令行工具) 运行这个简单命令即可 “pip install requests”。

注意:
如果你要安装Python虚拟环境中, 先进入虚拟机环境再执行上述命令
如果系统中既安装了Python2 又安装了 Python3, 需要安装Python3环境中:  pip3 install requests

2、requests 的基本使用

导入模块、发送get请求, 获取响应: 、从响应中获取数据: 

这串代码的作用是什么呢?常见属性又是什么呢?

response.text :  响应体 str类型
response.ecoding :  二进制转换字符使用的编码
respones.content:  响应体 bytes类型

三、Beautiful Soup

Beautiful Soup 是一个用于解析 HTML 和 XML 文档的 Python 库。它可以帮助开发者从网页中提取数据,进行信息检索和数据挖掘等操作。通过 Beautiful Soup,开发者可以方便地遍历文档树、搜索特定内容,并提取所需信息。这个库提供了简单又灵活的方式来处理复杂的 HTML 和 XML 结构,是 Python 爬虫和数据抓取中常用的工具之一。

1、Beautiful Soup 安装

# 安装 Beautiful Soup 4

pip install bs4

# 安装 lxml

pip install lxml

2、BeautifulSoup对象介绍与创建

BeautifulSoup对象: 代表要解析整个文档树,

它支持 遍历文档树 和 搜索文档树 中描述的大部分的方法.

创建 BeautifulSoup 对象

注意:可能存在警告问题

解决警告问题

3、BeautifulSoup对象的find方法

find (self, name=None, attrs={}, recursive=True, text=None,  **kwargs)
参数
u name : 标签名
u attrs : 属性字典
u recursive : 是否递归循环查找
u text : 根据文本内容查找
返回
u 查找到的第一个元素对象

四、总结

利用Python爬虫获取xx数据前置环境要求完成,下一篇就开始正片了。

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

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

相关文章

Hack The Box-Devvortex

目录 信息收集 nmap whatweb WEB web信息收集 wfuzz 漏洞探索 漏洞发现 反弹shell 提权 get user hashcat get root 信息收集 nmap 端口信息收集┌──(root?ru)-[~/kali/hackthebox] └─# nmap -p- 10.10.11.242 --min-rate 10000 Starting Nmap 7…

python基于vue考试分析系统的设计和实现-flask-django-nodejs-php

接着,本文还讨论了该系统的设计目的,还讨论了系统的需求,并提出了整体的设计方案。对于该系统的设计和实现,也都进行了较为详细的讨论,并在此基础上,对考试分析系统系统展开了一些具体的测试。随着电子技术…

解决IDEA创建SpringBoot项目没有Java版本8

原因: spring2.X版本在2023年11月24日停止维护了,因此创建spring项目时不再有2.X版本的选项,只能从3.1.X版本开始选择 而Spring3.X版本不支持JDK8,JDK11,最低支持JDK17,因此JDK11也无法选择了 当然&…

24.1 SpringCloud电商实战一刷

24.1 SpringCloud微服务电商项目实战 1. 周介绍2. 功能模块介绍2.1 前台客户端2.2 后台管理端3. Eureka注册中心3.1 创建Eureka服务1. 目录结构2. 依赖引入3. 启动类EurekaServerApplication4. 配置文件application4. 用户模块4.1 核心功能4.2 表结构4.3 用户模块初始化

【代码】YOLOv8标注信息验证

此代码的功能是标注信息验证,将原图和YOLOv8标注文件(txt)放在同一个文件夹中,作为输入文件夹 程序将标注的信息还原到原图中,并将原图和标注后的图像一同保存,以便查看 两个draw_labels函数,分…

[Linux] 进程间通信基础

💻文章目录 📄前言进程间通信基础概念 管道概念管道的工作原理模拟实现shell中的管道 共享内存概念接口的介绍共享内存的使用 📓总结 📄前言 你是否了解进程间是如何通信的呢?你是否知道管道的工作原理呢?管…

关于Web端 —— UI自动化测试

在手工测试阶段,针对项目输出了测试用例,如果这些测试用例需要在版本迭代的过程中,需要进行回归测试,通过手工重复地执行测试用例,将会耗费大量的人力。 为此应运而生就有了自动化测试,通过使用自动化工具…

【docker】Docker打包SpringBoot镜像

📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 前置说明 最为原始的打包方式spring-boot-maven-plugin插件jib-maven-plugin插件dockerfle-maven-plugin插件 最为原始的方式 也就是使用Docker的打…

从哈希桶角度看 unordered_map 与 unordered_set 的实现

文章目录 一、引言二、C unordered系列的无序关联式容器概览三、基于哈希桶的C unordered系列数据结构模拟实现1、unordered_map的模拟实现2、unordered_set的模拟实现3、哈希桶及其迭代器实现的代码 四、扩展与应用1. 自定义哈希函数2. 其他unordered数据结构unordered_multim…

蓝桥杯/慈善晚会/c\c++

问题描述 热心公益的G哥哥又来举办慈善晚会了,这次他邀请到了巴菲特、马云等巨富,还邀请到了大V、小C等算法界泰斗。晚会一共邀请了n位尊贵的客人,每位客人都位于不同的城市,也就是说每座城市都有且仅有一位客人。这些城市的编号为…

大模型知识库

一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 1. 下载Langchain-chatchat git clone https://github.com/chatchat-space/Langchain-Chatchat/ 2. 下载大模型和embe…

c++ 自己实现一个迭代器

具体代码 /*自定义迭代器的实现 */ #include <iostream> using namespace std; class num {int val; //具体的数字int length; //数字的位数void calculate_length(){if(val/100){ //这个数字只有1位length1;return;}int x10; //这里就是不断重复除直…

python连接mysql数据库步骤

连接MySQL数据库通常需要使用第三方库&#xff0c;而在Python中&#xff0c;mysql-connector-python 是一个常用的 MySQL 连接库。以下是连接 MySQL 数据库的步骤&#xff1a; 安装 MySQL 连接库&#xff1a; 使用以下命令安装 mysql-connector-python&#xff1a; pip insta…

汽车电子零部件(8):T_Box

前言: 网联汽车(Connected Vehicles ,CV)是一个广泛的概念,四个主要的CV线程已发展起来:互联、自主、共享和电动。这些应用于包括CV在内的垂直领域:汽车、通信、互联网和共享手机服务。中国汽车工程师学会(SAEC)提倡将车载ADAS(高级驾驶员辅助系统)与通信技术相结合…

gitlab仓库使用流程(开发)

1.1.GitLab代码提交流程&#xff1a; 1.1.1准备阶段&#xff1a; 确保已经安装了Git&#xff0c;并且配置了正确的用户名和邮箱地址。 在本地创建一个新的文件夹&#xff0c;用于存放即将开发的代码。 1.1.2.拉取代码&#xff1a; 使用git clone命令从GitLab上拉取项目代码…

基于python的在线学习与推荐系统

技术&#xff1a;pythonmysqlvue 一、系统背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大…

java数据库关系数据库设计(下)

目录 1.概念模型:E-R图 1.实体 2.属性 3.联系 4.实体间的映射关系 2.物理模型:数据库模型图 3.数据库规范设计 1.常见数据库设计问题 2.三大范式 1.第一范式 2.第二范式 3.第三范式 3.规范化和性能的关系 1.概念模型:E-R图 在数据库需求分析阶段&#xff…

阿里5年经验之谈 —— 接口测试用例如何编写?

接口测试用例如何编写&#xff1f;下面简单给大家讲解一下。 接口测试用例是目前软件开发中不可或缺的一个重要部分&#xff0c;因此编写接口测试用例同样重要。 接口测试用例的作用非常明显&#xff0c;它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品…

每日一题:C语言经典例题之求n!

题目描述 输入一个正整数n&#xff08;1<n<12)&#xff0c;求n!。 输入 输入一个正整数n。 输出 输出n!。 样例输入&#xff1a; 3 样例输出&#xff1a; 6 代码&#xff1a; #include <stdio.h> int f(int n) {if(n1)return 1;else{return n*f(n-1);} } int main(…

01|模型IO:输入提示、调用模型、解析输出

Model I/O 可以把对模型的使用过程拆解成三块&#xff0c;分别是输入提示&#xff08;对应图中的Format&#xff09;、调用模型&#xff08;对应图中的Predict&#xff09;和输出解析&#xff08;对应图中的Parse&#xff09;。这三块形成了一个整体&#xff0c;因此在LangCha…