Python爬虫之美丽的汤——BeautifulSoup

本文概要

本篇文章主要介绍利用Python爬虫之美丽的汤——BeautifulSoup,适合练习爬虫基础同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧!
在这里插入图片描述

  是不是以为今天要教大家怎么做饭?确实,但是更大概率是你一定起猛了,再睡会,hhh…

🌟🌟🌟个人简介🌟🌟🌟

☀️大家好!我是新人小白博主朦胧的雨梦,希望大家多多关照和支持😝😝😝
🌖大家一起努力,共同成长,相信我们都会遇到更好的自己👊👊👊
🌗期待我的文章能给各位带来收获和解决问题的灵感🤩🤩🤩
🌟大家的三连是我不断更新的动力~😘😘😘

在这里插入图片描述

目录

  • 本文概要
  • 🌟🌟🌟个人简介🌟🌟🌟
  • 本次操练网页
  • 学习目标🏆
  • ✨一.爬虫模板
    • 🌲1.urllib库的使用模板
    • 🌲2.requests库的使用模板
  • ✨二.分析信息接口
  • ✨三.通过请求拿到响应
  • ✨四. BeautifulSoup
    • 🌲1.漂亮的汤——BeautifulSoup
  • ✨五.实战星巴克
    • 🌲1.分析页面信息
  • ✨六.数据保存
  • ✨七.总结(附完整代码)
    • 🌲完整代码
  • 💫往期好文推荐

本次操练网页

    https://www.starbucks.com.cn/menu/(星巴克)
网页内容:
在这里插入图片描述

学习目标🏆

  1.了解BeautifulSoup;

  2.掌握BeautifulSoup语法;

  3.掌握如何使用BeautifulSoup提取保存内容。

✨一.爬虫模板

🌲1.urllib库的使用模板

import urllib.request     
url ='xxxxxxxxxxxx'   
# 发送请求                
request= urllib.request.Request(url,data,header)      
# 得到响应
response=urllib.request.urlopen(request)
# 解码
content = response.read().decode() 
# 查看数据
print(content)    

🌲2.requests库的使用模板

import requests   
url ='xxxxxxxxxxxx' 
# 发送请求                              
response = request.get(url, params,headers)  (get请求或者post请求)  
# 根据响应的格式解码,非常智能
response.encoding=response.appareent_encoding
# 查看数据
print(response.txt)

✨二.分析信息接口

  1.首先右键查看网页源代码

在这里插入图片描述

  爬取的信息就在源代码里,所以直接对网页链接发起请求,从而得到它的网页源码。

✨三.通过请求拿到响应

import requests# 需要请求的url
url = 'https://www.starbucks.com.cn/menu/'# 伪装请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36',
}# 获得响应
response = requests.get(url=url, headers=headers)# 智能解码
response.encoding = response.apparent_encoding
# 打印数据
print(response.text)

在这里插入图片描述
在这里插入图片描述

请你喝杯咖啡,hahaha,上一篇咱们重点学习了如何去使用正则表达式提取页面信息,本篇正式学习如何使用BeautifulSoup提取页面信息

✨四. BeautifulSoup

🌲1.漂亮的汤——BeautifulSoup

  BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库。接口设计人性化。
安装bs4

pip install bs4

导入bs4

from bs4 import BeautifulSoup

创建对象

soup = BeautifulSoup(response.read().decode(),'lxml')

BeautifulSoup根据标签名查找节点
  例如:存在一个如下的标签

    <a href="雨梦"></a>
   找到的是第一个符合条件的数据soup.a
   获取标签a的属性和属性值soup.a.attrs

BeautifulSoup的一些函数

函数作用
find()返回的是第一个符合条件的数据
findall()返回一个列表里面装的是所有符合条件的数据
select()返回的是一个列表,并且返回多个数据

select()函数

方法语法作用
类选择器.可以通过.代表class,我们把这种方法叫做类选择器
id#可以通过#代表id
属性选择器a[href]通过属性来寻找对应的标签
层级选择器a+空格+后代标签后代选择器
层级选择器a+>+后代标签子一代选择器
层级选择器a+>+后一代代标签子一代选择器
层级选择器a+,+其他标签组合选择器

节点信息

方法作用
obj.string获取节点内容
obj.get_text获取节点内容

区别:如果标签中只有内容,两者皆可,但是除了内容还有标签,那么string就获取不到数据,换用get_text。
到这里,相信大家已经初步掌握了漂亮的汤,那我们开始实践:

✨五.实战星巴克

🌲1.分析页面信息

在这里插入图片描述

soup = BeautifulSoup(response.text, 'lxml')
name_list = soup.select('ul[class="grid padded-3 product"] strong')
print(name_list)

效果
在这里插入图片描述
  深刻理解语句的用意,多多练习!

✨六.数据保存

# 保存数据
for i in name_list:with open('星巴克.txt', 'a', encoding='utf-8') as fp:fp.write(i.get_text())fp.write('\n')
print('文章爬取完成')

效果
在这里插入图片描述

✨七.总结(附完整代码)

  通过今天的小案例,相信大家已经对美丽的汤印象深刻了,好了,今天就分享到这里,谢谢大家的观看,有什么想法记得评论区告诉我!拜拜~✨ ✨ ✨

🌲完整代码

import requests
from bs4 import BeautifulSoup# 需要请求的url
url = 'https://www.starbucks.com.cn/menu/'# 伪装请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36',
}# 获得响应
response = requests.get(url=url, headers=headers)# 智能解码
response.encoding = response.apparent_encoding# 提取数据
soup = BeautifulSoup(response.text, 'lxml')
name_list = soup.select('ul[class="grid padded-3 product"] strong')# 保存数据
for i in name_list:with open('星巴克.txt', 'a', encoding='utf-8') as fp:fp.write(i.get_text())fp.write('\n')
print('文章爬取完成')

💫往期好文推荐

  TOP🥇.Python爬虫经典战役——正则实战❤️❤️❤️🏆🏆🏆❤️❤️❤️

  TOP🥈.Python |浅谈爬虫的由来❤️❤️❤️🏆🏆🏆❤️❤️❤️

  TOP🥉.ChatGPT | 一文详解ChatGPT(学习必备)❤️❤️❤️🏆🏆🏆❤️❤️❤️

在这里插入图片描述

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

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

相关文章

拥有一个懂你的机器人是种怎样的体验?

“ 智能对话的核心在于能够根据上下文理解用户的意图&#xff0c;能够与人进行自然、流畅、亲密的交流&#xff0c;同时拉近人和“人”之间的距离&#xff0c;让“人”成为更加亲密的伙伴。” 01 智能对话的重要性 相信很多人都感受过“智能客服”所带来的难受体验&#xff0c…

GPT-4震撼发布:多模态大模型:Plus用户优先试用

OpenAI 刚刚宣布正式推出 GPT-4。GPT-4 是 Generative Pre-trained Transformer 4 的缩写&#xff0c;即生成型预训练变换模型 4。 这是 OpenAI 努力扩展深度学习的最新里程碑。GPT-4 是一个大型多模态模型&#xff08;接受图像和文本输入&#xff0c;发出文本输出&#xff09;…

程序员的“凡尔赛文学”大赏!

这几天随处可见“凡尔赛”文学&#xff0c;有一种全民凡尔赛的感jio。 凡尔赛文学也被简称"凡学",是网友对于热衷于通过先抑后扬、自问自答或第三人称视角&#xff0c;不经意间露出"贵族生活的线索"的人的调侃。 为了便于大家理解&#xff0c;举几个具体的…

AR+玩具,用科技打造玩具新玩法

曾几何时&#xff0c;我们也曾幻想自己的玩具能像《玩具总动员》里的玩具们一样&#xff0c;要是能让玩具拥有灵魂&#xff0c;让它们能动起来&#xff0c;该有多好啊。AR增强现实技术的发展和不断完善普及将这一想法变为了现实 01 玩具巨头乐高的多元化转型 2019年&#xff0c…

赚35万,用ChatGPT做二次原创卖儿童益智玩具

抖音上卖益智玩具项目 项目分析 今天要和大家分享一个相对小众且冷门的项目&#xff0c;就是在抖音上通过录制带货短视频来销售儿童益智玩具项目&#xff0c;产品包括拼图、迷宫、3D拼图、数学游戏、逻辑游戏等多种类型。 对于宝妈们来说&#xff0c;益智玩具简直是无法抗拒…

unity3d 布娃娃系统插件 PuppetMaster 木偶师

PuppetMaster包含一个非常易于使用的视觉布娃娃创建工具&#xff0c;用于人形角色,将角色的动画的姿势映射到木偶的的肌肉使其同步&#xff0c;并保持在那里&#xff0c;直到动画在下一帧覆盖它。 简略使用方法 1. 将人形角色模型拖动到场景并附加BipedRagdollCreator.cs组件。…

上交清华搞事情!发起最全学科大模型中文知识及推理评测!GPT-4 竟然血洗所有国产模型...

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 第一时间获取价值内容 夕小瑶科技说 原创 作者 | 小戏、Python 从 OpenAI 的 ChatGPT、Meta 的 LLaMA、Anthropic 的 Claude 到复旦的 Moss、清华的 ChatGlm、MiniMax 的 Glow&#xff0c;国内的国外的大模型百花齐放…

始料未及-- 元宇宙传来好消息,全球轰动

突然间&#xff0c;元宇宙着火了。 从表面上看&#xff0c;这是出乎意料的&#xff0c;很多人将其视为资本引发的存在。也正是因为如此&#xff0c;人们对元宇宙的看法才变得两极分化。 那些对元宇宙感兴趣的人会佩服它&#xff1b;屈服于元宇宙的人会以各种方式对其产生怀疑&…

元宇宙被这个圈子带火了一波,是我没想到的

金磊 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 最近有个热闹的事&#xff0c;值得说道说道。 事情是这样的&#xff1a; 先是中国第一个进入元宇宙时代的媒体集团Meta Media超媒体控股&#xff0c;打造了个叫Meta ZiWU的项目&#xff0c;还请了建筑圈著名的马岩松&#xff0c;在…

元宇宙爆发增长,代币成为了变现必备媒介

Cloud exchange打算将CDE代币定位为区块链构建块&#xff0c;以帮助“加速向完整的区块链经济的过渡”&#xff0c;代币将允许用户影响“元宇宙的未来”。CDE代币面向的是受法律保护地区居民使用&#xff0c;这部分使用者能通过使用CDE来购买商品、服务&#xff0c;允许用户设计…

【回顾】“双11”首个元宇宙日 中国移动通信联合会元宇宙产业委员会揭牌 《元宇宙产业宣言》发布

2021年11月11日&#xff0c;“元宇宙日”&#xff0c;中国移动通信联合会元宇宙产业委员会&#xff08;CMCA-MCC&#xff09;揭牌仪式与《元宇宙产业宣言》发布暨中信出版《元宇宙》新书首发活动在中国移动通信联合会会议室举办&#xff0c;央链直播全程转播。 著名数字经济权威…

为了元宇宙,Facebook下周要改名了?

整理 | 祝涛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 据外媒报道&#xff0c;有知情人士透露&#xff0c;社交媒体巨头Facebook计划在下周更改公司名称&#xff0c;以显示其专注于构建元宇宙的决心。报道称&#xff0c;Facebook CEO扎克伯格&#xff08;M…

《元宇宙2086》影视工业弯道超车?《科普时报》刊登采访报道

科普时报-第267期 2023年01月06日 星期五 第05版&#xff1a;书香文史刊载了题目为“《元宇宙2086》影视工业弯道超车&#xff1f;”的关于高泽龙的采访报道。全文内容如下&#xff1a; 在2022年中国金鸡百花电影节暨第35届中国电影金鸡奖期间&#xff0c;我创作的中国首部元宇…

世界元宇宙大会暨元宇宙探索交流论坛 礼码生活构建元宇宙庞大生态

万众瞩目&#xff0c;终于来临。2021 年 10 月 14 日&#xff0c;由Open Sky和礼码生活联合主办&#xff0c;全球节点联盟、千岛矿业联盟、ROMAN WAY承办的世界元宇宙大会暨首届元宇宙探索者交流论坛在中国深圳隆重召开&#xff0c;社会各界高度关注&#xff0c;比特财经、金色…

元宇宙:有人追捧,就会有人抵触

或许&#xff0c;直到现在&#xff0c;我们依然无法否认元宇宙即将对我们的生产和生活产生的深刻影响。即使是在它遭遇巨大的不确定性的大背景下&#xff0c;依然如此。 有人追捧&#xff0c;便有人抵触。元宇宙商用的止步不前&#xff0c;元宇宙技术的难以突破……几乎都是这…

【元宇宙欧米说】个人创作者的NFT探索之路

与3D图片相比像素画有什么优势&#xff1f;除链游以外&#xff0c;NFT如何与游戏相结合&#xff1f;如何发展IP&#xff0c;产生实体化商品&#xff1f; 9月8日下午三点&#xff0c;游戏设计师、StrangeGoose数字艺术创作者大鹅将以“个人创作者的NFT探索之路”为题&#xff0…

泰国这场发布会,UTONMOS元宇宙游戏玩出炫酷新花样

Sensor Tower 最近发布的一项报告显示&#xff0c;全球元宇宙 App 下载量在 2022 年H1 达到 1.7 亿次&#xff0c;其中游戏达到了 1.1 亿次&#xff0c;占比 67.3%。在营收方面&#xff0c;元宇宙 App 在 H1 共获得 6.5 亿美元收入&#xff0c;游戏占 94%&#xff0c;达到 6.4 …

【元宇宙】元宇宙(metaverse)的简介(多角度理解与探讨)、发展历史、现状与未来

High&NewTech&#xff1a;元宇宙(metaverse)的简介(多角度理解与探讨)、发展历史、现状与未来 导读&#xff1a;博主曾在去年&#xff0c;2020年9月份撰写了一篇文章《AGI&#xff1a;走向通用人工智能的【哲学】之现实世界的虚拟与真实——带你回看1998年的经典影片《The …

元宇宙”成时下热点 中国古人是如何认识“宇宙”的?

最近“元宇宙”的话题十分流行&#xff0c;其英文Metaverse的意思是“超越宇宙”&#xff0c;代表着与现实世界平行的虚拟世界&#xff0c;这似乎是一种更为广大的宇宙观。人类对宇宙的认识&#xff0c;是一个漫长的过程。从朴素的直观感受到传说故事&#xff0c;再到自然科学上…